Faits:
A. Par arrêt du 29 août 2007, la Cour correctionnelle genevoise, siégeant sans le concours du jury, a notamment condamné X._ à une peine privative de liberté de cinq ans pour infraction grave à la loi fédérale sur les stupéfiants (art. 19 ch. 1 et 2 let. a LStup).
Statuant le 11 janvier 2008, la Cour de cassation genevoise a rejeté le pourvoi de X._ avec suite de frais.
B. En résumé, la condamnation de X._ repose sur les faits suivants:
X._, A._ et B._ occupaient un appartement, sis au chemin Colladon 16, au Petit-Saconnex. Suspectant ces trois ressortissants albanais de s'adonner à un important trafic d'héroïne, la police les a pris en filatures pendant plusieurs semaines. Le trio rencontrait quotidiennement des trafiquants albanais. Il passait ses journées à effectuer des va-et-vient en voiture entre la zone qui s'est avérée être le lieu de stockage de la drogue et les différents parcs et forêts genevois occupés par les trafiquants de rue originaires des Balkans.
Le 16 mai 2006, entre 16h et 17h, la police a procédé à l'arrestation de C._, alors qu'il venait de se séparer de A._. C._ a été trouvé en possession de 53,8 grammes bruts d'héroïne.
Le 23 mai 2006, vers 11h, X._, A._ et B._ sont sortis de leur appartement. Dans un établissement public, X._ a procédé à un échange avec D._. La police a arrêté ce dernier, qui portait sur lui 165,5 grammes bruts d'héroïne brune répartis en trente sachets « minigrips », ainsi que B._, qui se trouvait encore au point d'échange. Elle a procédé à l'arrestation de A._ et de X._ plus tard dans la journée. X._ avait sur lui la clé d'une boîte-aux-lettres, dans laquelle se trouvaient les clés de l'appartement du chemin Colladon 16. La police y a découvert 1,228 kg d'héroïne brune et 7,056 kg de produit de coupage, une somme de 1'008 fr. 35, le matériel servant à préparer la drogue pour la revente (« minigrips » vides, balance électronique, mixer, rouleau à patisserie, marteau, etc.) et un « puck » vide ayant contenu 500 grammes d'héroïne.
C. Contre cet arrêt cantonal, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il fait valoir l'arbitraire dans l'établissement des faits en ce qui concerne l'échange de drogue avec C._ et conteste, pour le surplus, être l'un des coauteurs du trafic de stupéfiants impliquant A._ et B._. Il conclut, principalement, à la réforme de l'arrêt attaqué en ce sens qu'il soit acquitté et, subsidiairement, à l'annulation de l'arrêt attaqué et au renvoi de l'affaire à la cour cantonale pour nouveau jugement.
En outre, il sollicite l'assistance judiciaire.
D. Le ministère public a conclu au rejet du recours, alors que la juridiction cantonale a renoncé à déposer des observations.
Considérant en droit:
1. 1.1 Le recours en matière pénale peut être interjeté pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Il n'est donc limité ni par les arguments soulevés dans le recours ni par la motivation retenue par l'autorité précédente. Il peut admettre un recours pour un autre motif que ceux qui ont été invoqués et il peut rejeter un recours en adoptant une argumentation différente de celle de l'autorité précédente (cf. ATF 130 III 136 consid. 1.4 p. 140). Compte tenu de l'exigence de motivation contenue à l'art. 42 al. 1 et 2 LTF, sous peine d'irrecevabilité (art. 108 al. 1 let. b LTF), le Tribunal fédéral n'examine en principe que les griefs invoqués; il n'est pas tenu de traiter, comme le ferait une autorité de première instance, toutes les questions juridiques qui se posent, lorsque celles-ci ne sont plus discutées devant lui. Il ne peut pas entrer en matière sur la violation d'un droit constitutionnel ou sur une question relevant du droit cantonal ou intercantonal si le grief n'a pas été invoqué et motivé de manière précise par la partie recourante (art. 106 al. 2 LTF).
1.2 Saisi d'un recours en matière pénale, le Tribunal fédéral ne réexamine l'établissement des faits - sous réserve de l'allégation d'une violation du droit au sens de l'art. 95 LTF - que lorsqu'il est entaché d'inexactitude manifeste (art. 97 al. 1 LTF), à savoir d'arbitraire (ATF 134 IV 36, consid. 1.4.1). Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (ATF 133 III 393 consid. 6 p. 397).
Une décision est arbitraire lorsqu'elle est manifestement insoutenable, méconnaît gravement une norme ou un principe juridique clair et indiscuté, ou encore heurte de manière choquante le sentiment de la justice et de l'équité. Il ne suffit pas que sa motivation soit insoutenable; encore faut-il que la décision apparaisse arbitraire dans son résultat. A cet égard, le Tribunal fédéral ne s'écarte de la solution retenue que si celle-ci apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motif objectif ou en violation d'un droit certain. Il n'y a pas arbitraire du seul fait qu'une autre solution paraît également concevable, voire même préférable (ATF 133 I 149 consid. 3.1 p. 153 et les arrêts cités). En matière d'appréciation des preuves et d'établissement des faits, il y a arbitraire lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables (ATF 129 I 8 consid. 2.1 p. 9).
2. Dans un premier moyen, le recourant soutient que la Cour de cassation a versé dans l'arbitraire en retenant qu'il avait fait le guet le 16 mai 2006 lors de l'échange de drogue avec C._. A l'appui de ce grief, il fait valoir qu'il aurait déposé le même jour une demande d'asile à la Préfecture du Rhône, à Lyon, service ouvert de 8h15 à 15h30, et qu'il aurait donné ses empreintes à 10h46; or, il ne pouvait avoir eu le temps de déposer sa demande, d'attendre que celle-ci lui soit délivrée, de se rendre à la gare pour prendre un train qui, par hypothèse, serait parti immédiatement, et de faire trois heures de trajet pour arriver à Genève et activer à 11h35 une borne située dans cette commune.
Pour retenir la participation du recourant à l'échange de drogue avec C._, la Cour de cassation s'est fondée sur les observations de la police. Le recourant écarte cette preuve, soutenant que l'inspecteur de police a pu commettre une erreur, étant donné qu'il se tenait à une certaine distance et compte tenu des physiques ressemblants des protagonistes de l'affaire. Cette argumentation, purement appellatoire, n'est toutefois pas recevable dans un recours en matière pénale.
Pour le surplus, l'alibi que le recourant invoque n'est pas convainquant:
- Premièrement, il ne ressort pas du dossier que le recourant se trouvait effectivement à la préfecture de Lyon le 16 mai 2006. Les pièces auxquelles il se réfère établissent seulement qu'une autorisation provisoire lui a été délivrée en date du 16 mai 2006. Or, celle-ci a pu lui être octroyée par écrit, et les démarches nécessaires ont pu être faites quelques jours auparavant. Quant à l'affirmation, selon laquelle il aurait donné ses empreintes à 10h45, elle ne repose sur aucun document figurant au dossier.
- En second lieu, à supposer que l'on admette que le recourant s'est présenté à la préfecture de Lyon le 16 mai 2006, il pouvait sans autre se trouver à Genève à 11h35. Il n'est en effet pas du tout établi que le recourant ait pris le train. A cet égard, la Cour de cassation affirme seulement que le trajet en train (150 km) prenait trois heures. Le recourant a cependant aussi pu se rendre à Genève en voiture, ce qui raccourcit sensiblement la durée du déplacement (environ 1h30).
Au vu de ce qui précède, la Cour de cassation n'est donc pas tombée dans l'arbitraire en retenant que le recourant faisait le guet lors de l'échange de drogue avec C._. Mal fondé, le grief doit être rejeté.
3. Le recourant conteste sa participation comme coauteur à l'activité délictuelle déployée par ses deux comparses A._ et B._. Il reproche à la Cour de cassation de ne pas avoir abordé en détail les rôles de chacun en rapport avec les réquisitions du Procureur général et d'avoir en conséquence violé son obligation de motiver. Selon lui, il se serait borné à fréquenter l'appartement où les stupéfiants étaient entreposés, à accompagner ses comparses sur des trajets entre ce lieu et le point de vente et à faire le guet pendant que ses camarades procédaient à une transaction, actes qui ne relèveraient que de la participation secondaire. Se référant à l'arrêt de la Cour correctionnelle, le recourant relève que E._, F._ et G._, inculpés dans une autre procédure, ne le mettent pas en cause à propos des échanges de drogues auxquels ils ont participé.
3.1 Le raisonnement de la Cour de cassation pour conclure que le recourant s'est associé à ses deux comparses pour se livrer au trafic des stupéfiants n'est pas arbitraire, et peut être aisément suivi. Se fondant sur le résultat des filatures de la police, elle a retenu que le recourant s'était fréquemment rendu avec ses deux comparses de l'endroit où la drogue était stockée aux lieux connus pour être des scènes du commerce illicite de stupéfiants. Elle a précisé qu'il avait fait le guet lors de la transaction qui avait immédiatement précédé l'interpellation de C._ et qu'il partageait avec ses comparses un appartement où avaient été découverts de la drogue et du produit de coupage. Elle a ajouté qu'il avait remis 165,5 grammes d'héroîne répartis en trente sachets minigrips à D._. Au regard de ces éléments, le seul fait que les trafiquants E._, F._ et G._ sont restés silencieux ne suffit pas à rendre arbitraire la conclusion de la Cour de cassation, selon laquelle le recourant s'est associé à l'activité délictuelle de ses comparses. Le grief tiré de l'établissement arbitraire des faits doit donc être rejeté. Reste à examiner - point également contesté par le recourant - si le recourant peut, en droit, être qualifié d'auteur principal pour ces activités.
3.2 L'art. 19 ch. 1 de la loi fédérale sur les stupéfiants (ci-après: LStup) érige en infraction indépendante des actes de soutien qui, pour d'autres infractions, ne seraient que des cas de participation à l'infraction principale; dans toutes ces hypothèses, il faut simplement considérer que l'accusé est l'auteur de l'infraction (ATF 119 IV 266 consid. 3a p. 268). Il importe peu qu'il n'ait été qu'un personnage secondaire dans l'organisation, qu'il se soit borné à obéir à un ordre ou qu'il n'ait pas agi dans son intérêt personnel ou de sa propre initiative (ATF 106 IV 72 consid. 2b p. 73). Il ne peut y avoir complicité que si l'accusé fournit une aide accessoire qui n'est pas visée par la loi comme une infraction en soi (ATF 106 IV 72 consid. 2b p. 73).
La LStup réprime, en particulier, la possession et la détention de stupéfiants, ainsi que leur entreposage. La possession au sens de la LStup suppose, comme en matière de vol, la maîtrise de la chose et la volonté de l'exercer, autrement dit la possibilité d'y accéder, la connaissance du lieu où elle se trouve et la volonté de la détenir (ATF 119 IV 266 consid.3c p. 26). En ayant les clés de l'appartement, le recourant avait la maîtrise de fait de la drogue, de sorte que c'est à juste titre que la Cour de cassation l'a considéré comme auteur. En outre, « celui qui, sans droit, offre, distribue, vend, fait le courtage, procure, prescrit, met dans le commerce ou cède » de la drogue se rend coupable de trafic de stupéfiants en tant qu'auteur. Or, il est établi - et non contesté - que le recourant a remis 165,5 grammes bruts d'héroïne à D._. Vu l'ensemble des comportements du recourant, la Cour de cassation a considéré à juste titre qu'il avait agi comme auteur du trafic de stupéfiants et non comme complice.
4. Au vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
Comme ses conclusions étaient d'emblée vouées à l'échec, le recourant doit être débouté de sa demande d'assistance judiciaire (art. 64 al. 1 et 2 LTF) et supporter les frais de justice (art. 65 et 66 al. 1 LTF), réduits à 800 fr. compte tenu de sa situation financière actuelle.
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté dans la mesure où il est recevable.
2. La demande d'assistance judiciaire est rejetée.
3. Les frais judiciaires, arrêtés à 800 francs, sont mis à la charge du recourant.
4. Le présent arrêt est communiqué aux parties et à la Cour de cassation du canton de Genève.
Lausanne, le 1er juillet 2008
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président: La Greffière:
Schneider Kistler Vianin