Faits: A. Par arrêt du 27 septembre 2007, la Cour correctionnelle genevoise, statuant sans jury, a condamné X._, pour infractions à l'art. 19 ch. 1 et 2 let. a et b de la loi fédérale sur les stupéfiants, à une peine privative de liberté de sept ans, sous déduction de la détention préventive. Elle a ordonné la confiscation et la destruction de la drogue saisie et du matériel ayant servi à son transport et à son conditionnement, la confiscation et la dévolution à l'Etat des sommes d'argent saisies et la confiscation des objets figurant aux inventaires. Par arrêt du 7 mars 2008, la Cour de cassation du canton de Genève a rejeté le pourvoi formé par X._. B. En résumé, la condamnation de X._ repose sur les faits suivants: B.a Le 3 mai 2006, la police genevoise a appris que A._, qui se trouvait en transit à l'aéroport de Londres, en provenance de Sainte-Lucie et à destination de Genève, transportait de la cocaïne dans ses bagages. A._ a été interpellée le jour même à son arrivée à Genève. Le démontage des parois de ses deux valises a permis la découverte de huit sachets de cocaïne d'un poids total de 1 kg 242 et d'une pureté de 70 %. Interrogée par la police, elle a mis en cause B._ et C._, qu'elle avait pour mission de retrouver à Zurich. B._, qu'elle savait se livrer au trafic de drogue, l'avait recrutée à la demande de C._ et lui avait donné les informations et instructions nécessaires à son voyage et à la remise de la drogue à l'hôtel Splendid, à Zurich. Un dénommé D._ et un tiers resté inconnu lui avaient remis les deux valises et son billet d'avion à Sainte-Lucie. B.b Le 4 mai 2006, B._ et C._ ont été interpellés par la police zurichoise alors qu'ils se rendaient à l'hôtel Splendid, où C._ logeait depuis le 2 mai 2006. La police a découvert sur lui des tournevis et, dans sa chambre, outre 36'000 fr. en diverses coupures, des sachets de cocaïne, d'un poids total brut de 750 grammes et d'une pureté de 70 %, dissimulés dans les parois d'une valise, de la même manière qu'ils l'avaient été dans les valises de A._. B._ a admis que, le 26 avril 2006, en provenance de Sainte-Lucie, elle était arrivée à Genève avec deux valises que lui avait remises D._ à Sainte-Lucie et qui contenaient chacune plusieurs centaines de grammes de cocaïne. Elle avait retrouvé C._ le 3 mai 2006 à Zurich et lui avait livré la première valise à l'hôtel Krone. Il avait vendu son contenu de cocaïne, à un tiers inconnu, pour 36'000 francs. Avant son départ de la Jamaïque, C._ l'avait appelée pour lui faire savoir que A._ allait également effectuer un transport de drogue à destination de la Suisse. C._ était le destinataire des quatre valises que toutes deux devaient lui livrer en Suisse. B.c Le 6 mai 2006, E._ a été appréhendée à l'aéroport de Genève en provenance de la Jamaïque. La police a découvert huit sachets de cocaïne, d'un poids total brut de 1 kg 055, dissimulés dans les renforts de ses valises. Elle a indiqué à la police avoir été recrutée en Jamaïque par F._, surnommé Tufy, et y avoir reçu les deux valises d'un inconnu surnommé Magga. De Genève, elle devait prendre le train pour Zurich où F._ devait la réceptionner. Alertés par leurs homologues genevois, le même jour, à savoir le 6 mai 2006, les policiers zurichois ont interpellé G._ et X._ sur le quai de la gare de Zurich, où ils attendaient visiblement E._. X._ a admis s'être rendu à la gare de Zurich pour y réceptionner une Jamaïcaine et s'être douté qu'elle pouvait transporter quelque chose d'illégal. Il soutient avoir accepté de rendre ce service à un Jamaïcain nommé F._, dont il ne savait rien, en échange de 1000 francs. Il a déclaré ne pas connaître C._. B.d Précédemment, le 3 janvier 2005, à l'aéroport de Zurich, X._ avait déjà été intercepté par la police zurichoise. Il y attendait un nommé H._ porteur de 104 cylindres contenant au total 832 grammes de cocaïne. Il avait alors déclaré ignorer ce que transportait H._ et avoir été mandaté par F._, lequel lui avait promis une rémunération de 10'000 francs. Le parquet zurichois avait classé la procédure à son encontre, faute de prévention suffisante. C. Contre l'arrêt cantonal du 7 mars 2008, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour nouveau jugement. En outre, il sollicite l'assistance judiciaire. D. Le Procureur du canton de Genève a conclu au rejet du recours avec suite de frais alors que la Cour de cassation n'a pas déposé d'observations. 