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. 