Faits: A. Le 15 mars 2005, A._ a été arrêté et inculpé de diverses infractions contre le patrimoine par le Juge d'instruction du canton de Genève (ci-après: le juge d'instruction). Il a été placé en détention préventive jusqu'au 1er juillet 2005, date à laquelle il a versé la caution de 300'000 fr. demandée pour sa mise en liberté provisoire. Depuis sa libération, il ne s'est jamais présenté aux audiences du juge d'instruction, si bien qu'un mandat d'arrêt international a été délivré à son encontre. Arrêté en Espagne le 23 février 2007, A._ a été placé en détention extraditionnelle jusqu'au 11 octobre 2007. Depuis cette date, il est en détention préventive en Suisse. B. Par ordonnance du 8 avril 2008, la Chambre d'accusation du canton de Genève (ci-après: la Chambre d'accusation) a rejeté une requête de mise en liberté provisoire présentée le 2 avril 2008 par A._. Elle a considéré que la durée de la détention avant jugement - qui était proche de dix-sept mois - n'était pas disproportionnée eu égard notamment aux charges importantes pesant sur l'intéressé et à la peine encourue. La Chambre d'accusation considérait également qu'il existait un important risque de fuite et elle ne s'estimait pas en mesure de statuer sur d'éventuelles sûretés, l'intéressé n'ayant formulé aucune proposition concrète sur ce point. Le 14 avril 2008, A._ a présenté une nouvelle requête de mise en liberté, en proposant le versement d'une caution de 40'000 francs. La Chambre d'accusation a rejeté cette requête par ordonnance du 18 avril 2008, considérant en substance que le prénommé n'avait pas apporté d'éléments concrets sur sa situation financière et personnelle. Elle rappelait que la caution de 300'000 fr. versée en 2005 n'avait pas dissuadé A._ de se soustraire à ses obligations et elle ne s'estimait pas en mesure de fixer le montant d'une nouvelle caution, faute d'information fiable sur la situation financière de l'intéressé. C. Par ordonnance du 15 avril 2008, la Chambre d'accusation a renvoyé A._ en jugement devant la Cour correctionnelle avec jury pour y répondre des infractions d'escroquerie (art. 146 CP), de banqueroute frauduleuse (art. 163 ch. 1 CP), de gestion fautive (art. 165 ch. 1 CP) et de faux dans les titres (art. 251 ch. 1 CP). D. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler les ordonnances de la Chambre d'accusation des 8 et 18 avril 2008 et d'ordonner sa mise en liberté immédiate. Il requiert en outre l'assistance judiciaire. La Chambre d'accusation se réfère aux considérants de ses décisions. Le Procureur général du canton de Genève s'est déterminé; il conclut au rejet du recours. Le recourant a présenté des observations complémentaires.