Faits :
A.
Par ordonnance du 4 juin 2014, le Ministère public genevois a ordonné le classement de la procédure ouverte à l'encontre de X._ pour trafic de stupéfiants, en réservant la reprise de la procédure préliminaire close en cas de nouveaux moyens de preuve et de faits nouveaux (<ref-law>). Conformément à l'<ref-law>, il a alloué à l'intéressé un montant de 3'690 fr., avec intérêts à 5 % dès le 21 décembre 2013, pour le tort moral subi dans la procédure pénale.
B.
Par arrêt du 29 septembre 2014, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par X._ contre cette ordonnance.
C.
Contre ce dernier arrêt, 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 à sa réforme en ce sens que l'autorité cantonale lui octroie une indemnité pour détention injustifiée de 43'050 fr., avec intérêts dès le 22 octobre 2013, et le libère des frais de la procédure de recours cantonale. A titre subsidiaire, il demande l'annulation de l'arrêt attaqué et le renvoi de la cause à l'autorité cantonale pour nouvelle décision. En outre, il sollicite l'assistance judiciaire.
Invités à se déterminer, la cour cantonale et le Ministère public cantonal ont déposé des observations. X._ y a répliqué.

Considérant en droit :
1.
Les décisions sur les prétentions en indemnisation prévues à l'<ref-law>, notamment celles relatives au tort moral (let. c), constituent des décisions en matière pénale au sens de l'<ref-law> contre lesquelles le recours en matière pénale est ouvert (<ref-ruling> consid. 1). Dirigé contre un jugement final (<ref-law>) rendu par une autorité cantonale de dernière instance (<ref-law>), le recours est en principe recevable.
2.
En substance, la cour cantonale a considéré que le montant de base de l'indemnité allouée par jour de détention était de 100 fr. et qu'il fallait le réduire à 30 fr., vu le domicile étranger du recourant.
Le recourant fait grief à la cour cantonale d'avoir violé l'art. 429 al. 1 let. c CPP, tant en fixant le montant de base de l'indemnité journalière à 100 fr. qu'en refusant de tenir compte de certains facteurs d'augmentation de l'indemnité. Enfin, la diminution en raison du domicile étranger serait contraire au droit.
2.1. Conformément à l'art. 429 al. 1 let. c CPP, si, du fait de la procédure, le prévenu a subi une atteinte particulièrement grave à ses intérêts personnels au sens des <ref-law> ou 49 CO, il aura droit à la réparation de son tort moral (Message du 21 décembre 2005 relatif à l'unification du droit de la procédure pénale, in: FF 2005 p. 1313). Selon la jurisprudence rendue avant l'entrée en vigueur du CPP, le montant de l'indemnité en matière de détention injustifiée doit être fixé en fonction de la gravité de l'atteinte portée à la personnalité (<ref-law>; <ref-ruling> consid. 4.1 p. 47; <ref-ruling> consid. 3a p. 98). Il faut tenir compte de toutes les circonstances, notamment des effets négatifs de la détention sur l'intégrité physique, psychique ou encore sur la réputation de l'intéressé (<ref-ruling> consid. 5b/aa p. 458). L'activité professionnelle du lésé doit également être prise en compte dans cette appréciation (ATF <ref-ruling> consid. 3a p. 98). Il appartient au demandeur d'invoquer et de prouver les atteintes subies (<ref-ruling> consid. 4.1 p. 47; <ref-ruling> consid. 4b p. 218).
Selon la jurisprudence, un montant de 200 fr. par jour en cas de détention injustifiée de courte durée constitue une indemnité appropriée, dans la mesure où il n'existe pas de circonstances particulières qui pourraient fonder le versement d'un montant inférieur ou supérieur (arrêt 6B_133/2014 du 18 septembre 2014 consid. 3.2 et les arrêts cités). Le taux journalier n'est qu'un critère qui permet de déterminer un ordre de grandeur pour le tort moral. Il convient ensuite de corriger ce montant compte tenu des particularités du cas (durée de la détention, retentissement de la procédure sur l'environnement de la personne acquittée, gravité des faits reprochés, etc.). Lorsque la détention injustifiée s'étend sur une longue période, une augmentation linéaire du montant accordé dans les cas de détentions plus courtes n'est pas adaptée, car le fait de l'arrestation et de la détention pèse d'un poids en tout cas aussi important que l'élément de durée pour apprécier l'atteinte que subit la personne incarcérée (cf. <ref-ruling> consid. 3b p. 156). La fixation de l'indemnité pour tort moral est une question d'appréciation, de sorte que le Tribunal fédéral ne la revoit qu'avec retenue (cf. <ref-ruling> consid. 2.2.2 p. 309 s.; arrêt 6B_111/2012 du 15 mai 2012 consid. 4.2).
2.2. Le recourant critique, en premier lieu, le montant de base de l'indemnité, fixé, par la cour cantonale, à 100 fr. par jour de détention.
En l'espèce, la cour cantonale a arrêté à 100 fr. le montant de base par jour de détention. De la sorte, elle s'est écartée du taux journalier de 200 fr. fixé par la jurisprudence pour les détentions de courte durée. Pour seule motivation, elle s'est référée à sa pratique (arrêt attaqué consid. 2.3 p. 6 et 2.5 p. 7). Elle ne mentionne aucune particularité du cas pouvant justifier le versement d'un montant inférieur. Cette motivation ne suffit pas pour justifier cet écart par rapport au taux journalier fixé par la jurisprudence. Partant, le recours doit être admis sur ce point, l'arrêt attaqué annulé et la cause renvoyée à la cour cantonale pour nouvelle décision.
2.3. Le recourant invoque plusieurs circonstances du cas d'espèce qui justifieraient, selon lui, une augmentation de l'indemnité de base.
Le recourant mentionne d'abord son jeune âge à l'époque de l'arrestation (21 ans) et l'absence de casier judiciaire. S'agissant de son jeune âge, il se borne à alléguer que sa détention a représenté un choc d'autant plus important qu'il était âgé de 21 ans au moment de l'arrestation. Le jeune âge de la personne détenue ne justifie pas, par principe, une augmentation de l'indemnité de base. Il ne conduira à une augmentation de l'indemnité de base qu'en cas de souffrance particulière. L'arrêt cantonal ne contient toutefois aucune constatation en ce sens, et le recourant ne soulève pas le grief d'arbitraire dans l'établissement des faits. De même, l'arrêt cantonal ne retient pas que le recourant a spécialement mal vécu sa détention, car il n'était pas familier du monde carcéral et du monde de la délinquance en général, et le recourant n'établit pas que l'absence d'une telle constatation de fait serait arbitraire. Le grief soulevé est donc irrecevable (<ref-law>).
Le recourant soutient que l'interdiction qui lui a été faite par le Ministère public de rencontrer sa famille (sa mère et ses deux soeurs) en prison a augmenté l'atteinte psychique subie par la détention. La détention provisoire implique souvent une restriction des visites, en raison du risque de collusion; cette circonstance n'a donc rien d'exceptionnel. En l'espèce, l'arrêt attaqué ne constate pas que les restrictions du droit de visite aient entraîné une souffrance particulière chez le recourant, et celui-ci ne soulève pas le grief d'arbitraire dans l'établissement des faits à ce sujet. Cet élément n'est donc pas pertinent en l'espèce.
Le recourant fait valoir des séquelles particulièrement graves consécutives à la détention. La cour cantonale a considéré que " le recourant n'avait pas consulté le service médical de la prison pendant sa détention ", et que " son état de stress post-traumatique, à teneur de la description qu'en fait la psychologue consultée en Albanie n'apparaît pas avoir dépassé celui lié au poids psychique inhérent à la procédure pénale " (arrêt attaqué, consid. 2.6, p. 7). Le recourant s'écarte de ces constatations de fait, sans pour autant soulever l'arbitraire dans l'établissement des faits, lorsqu'il soutient que sa souffrance était amplement supérieure à l'ordinaire et dépassait les habituels sentiments d'injustice et d'enfermement. Son argumentation est irrecevable.
2.4. Le recourant reproche à la cour cantonale d'avoir réduit le montant de base de l'indemnité de 70 % en raison de sa résidence à l'étranger.
Selon la jurisprudence rendue à propos de l'indemnité pour tort moral en droit civil et de l'indemnisation en vertu de la loi sur l'aide aux victimes d'infractions (LAVI; RS 312.5), il n'y a pas lieu de prendre en considération les frais d'entretien au domicile de l'ayant droit lors de la fixation de l'indemnité pour tort moral. En effet, contrairement à la réparation d'un dommage matériel, la réparation du tort moral n'est pas destinée à compenser une diminution du patrimoine, mais à atténuer la douleur au moyen d'une somme d'argent (<ref-ruling> consid. 2b p. 556; <ref-ruling> consid. 4 p. 11 ss; <ref-ruling> consid. 2b p. 255 s.). Ce n'est qu'exceptionnellement, à savoir en présence de différences particulièrement grandes par rapport aux conditions de vie en Suisse, qu'il faut prendre en compte un coût de la vie plus faible pour le calcul de l'indemnité pour tort moral, afin de ne pas favoriser de manière crasse l'ayant droit vivant à l'étranger (<ref-ruling> consid. 2b p. 556 consid. 4a p. 559; <ref-ruling> consid. 4c/bb p. 14 s.). L'ampleur de l'indemnité pour tort moral doit être justifiée compte tenu des circonstances particulières, après pondération de tous les intérêts, et ne pas paraître inéquitable (<ref-ruling> consid. 2b p 556).
Le Tribunal fédéral a ainsi admis une réduction (non schématique) de l'indemnité lorsque les frais d'entretien au domicile de l'intéressé étaient beaucoup plus bas qu'en Suisse (par exemple <ref-ruling> consid. 4a p. 559 s. concernant Voïvodine: pouvoir d'achat 18 fois plus grand; arrêt 1A.299/2000 du 30 mai 2001 consid. 5c concernant la Bosnie-Herzégovine: pouvoir d'achat 6 ou 7 fois plus élevé). En revanche, il a considéré qu'il n'existait pas une différence assez grande des niveaux de vie entre la Suisse et le Portugal pour justifier une réduction de l'indemnité pour tort moral (1C_106/2008 du 24 septembre 2008 consid. 4.2 : le coût de la vie correspondait à 70 % du coût de la vie en Suisse).
Ces principes doivent également s'appliquer à l'indemnité pour tort moral définie à l'art. 429 al. 1 let. c CPP (WEHRENBERG/FRANK, in Basler Kommentar, Schweizerische Strafprozessordnung, 2ème éd., 2014, n° 29 ad <ref-law>; cf. aussi DONATSCH/SCHMID, Kommentar zur Strafprozessordnung des Kantons Zürich, 2007, tome I, n° 20 ad § 43).
En l'espèce, la cour cantonale a réduit l'indemnité pour tort moral de 70 %. Elle n'a toutefois donné aucune information sur les niveaux de vie des deux pays en question (l'Albanie où il a consulté et la Grèce d'où le recourant déclarait venir en octobre 2013). Dans ces conditions, la Cour de céans ne peut pas se prononcer sur la comptabilité de la réduction de l'indemnité avec le droit fédéral. Un jugement prononcé sans que les faits nécessaires à l'application de la loi soient constatés est contraire au droit fédéral. Lorsqu'un état de fait est lacunaire et qu'ainsi l'application de la loi ne peut pas être contrôlée, la décision attaquée doit être annulée et la cause renvoyée à l'autorité précédente afin que l'état de fait soit complété et qu'un nouveau jugement soit prononcé (<ref-ruling> consid. 3.4 p. 294 ss). Il convient donc d'admettre le recours et de renvoyer la cause à la cour cantonale pour qu'elle complète l'arrêt attaqué ou renonce à opérer une réduction en raison des coûts de la vie au domicile du recourant.
3.
Le recourant reproche à la cour cantonale d'avoir mis à sa charge les frais de la procédure cantonale.
Il appartiendra à la cour cantonale de se prononcer à nouveau dans sa nouvelle décision sur la question des frais. Il n'y a donc pas lieu de traiter ce grief.
4.
Le recours doit être admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision. Le recourant qui obtient gain de cause ne supporte pas de frais judiciaires (<ref-law>) et peut prétendre à une indemnité de dépens à la charge du canton de Genève (art. 68 al. 1 et 2 LTF), ce qui rend sans objet la requête d'assistance judiciaire.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause est renvoyée à l'autorité cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Genève versera au conseil du recourant la somme de 3'000 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 22 décembre 2015
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Kistler Vianin