Faits :
A.
Par ordonnance du 15 octobre 2014, le Ministère public du canton de Genève a classé la procédure pénale ouverte à l'encontre de X._ pour infraction à la Loi fédérale sur les stupéfiants (art. 19 LStup) et infraction à la Loi fédérale sur les étrangers (art. 115 LEtr). Il a rejeté les prétentions en indemnité de X._ fondées sur les art. 429 al. 1 let. a et c CPP et a mis les frais de la procédure, d'un montant de 350 fr., à la charge de celui-ci.
B.
Par arrêt du 3 mars 2015, la Chambre pénale de recours de la Cour de justice a rejeté le recours de X._ contre le refus d'une indemnité pour tort moral. En tant que le recourant concluait également à ce qu'une indemnité pour ses frais de défense au sens de l'art. 429 al. 1 let. a CPP lui soit allouée et à ce que les frais de la procédure préliminaire ne soient pas mis à sa charge, la Chambre pénale de recours a refusé d'entrer en matière au motif que le recours ne contenait pas une motivation suffisante.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre cet arrêt. Il conclut à l'annulation de l'arrêt attaqué, au renvoi de la cause à la Chambre pénale de recours pour nouvelle décision, ainsi qu'au constat que la Chambre pénale de recours et le ministère public ont violé la présomption d'innocence. Il sollicite par ailleurs l'assistance judiciaire.
D.
Invités à se déterminer sur le recours, la cour cantonale et le ministère public ont conclu à la confirmation de l'arrêt entrepris.
Considérant en droit :
1.
Le recours porte uniquement sur l'indemnisation des dépenses occasionnées par l'exercice raisonnable des droits de procédure du recourant et sur la répartition des frais de la procédure préliminaire. L'autorité précédente ayant refusé d'entrer en matière sur les griefs du recourant y relatifs, seule la question de leur recevabilité peut être portée devant le Tribunal fédéral, qui n'a, à ce stade, pas à examiner le fond de la contestation (arrêt 1B_363/2014 du 7 janvier 2015 consid. 1). Il s'ensuit que, dès lors qu'elle porte sur le fond du litige, la conclusion du recourant en constatation de la violation de la présomption d'innocence n'est pas admissible, à plus forte raison lorsqu'elle est dirigée contre le ministère public, autorité de première instance (cf. art. 80 al. 1 LTF).
2.
Le recourant reproche à l'autorité précédente d'avoir fait preuve de formalisme excessif (art. 29 al. 1 Cst.) et d'avoir violé l'art. 385 CPP en refusant d'entrer en matière sur ses griefs relatifs au refus d'une indemnité pour ses frais de défense et à la mise à sa charge des frais de procédure sous le prétexte qu'ils auraient été insuffisamment motivés.
2.1. L'art. 385 al. 1 CPP énonce que si le code exige que le recours soit motivé, la personne ou l'autorité qui recourt doit indiquer précisément les points de la décision qu'elle attaque (let. a), les motifs qui commandent une autre décision (let. b) et les moyens de preuve qu'elle invoque (let. c). Les motifs au sens de l'art. 385 al. 1 let. b CPP doivent être étayés par le recourant sous l'angle des faits et du droit (arrêts 1B_363/2014 du 7 janvier 2015 consid. 2.1; 6B_130/2013 du 3 juin 2013 consid. 3.2 et la référence citée).
Un formalisme excessif est réalisé lorsque la stricte application des règles de procédure ne se justifie par aucun intérêt digne de protection, devient une fin en soi, complique de manière insoutenable la mise en oeuvre du droit matériel ou entrave de manière inadmissible l'accès aux tribunaux (ATF 135 I 6 consid. 2.1 p. 9). Les allégués contenus dans le mémoire de recours adressés à l'autorité, en particulier les moyens de droit, doivent en principe satisfaire les exigences de motivation. Cela doit notamment permettre de comprendre pour quelles raisons le recourant s'en prend à la décision attaquée et dans quelle mesure celle-ci doit être modifiée ou annulée. Dès lors, si la validité d'un moyen de droit présuppose, en vertu d'une règle légale expresse, une motivation - même minimale -, cela ne constitue pas une violation du droit d'être entendu ou de l'interdiction du formalisme excessif d'en exiger une (ATF 134 II 244 consid. 2.4.2 p. 247 s.; arrêts 1B_363/2014 du 7 janvier 2015 consid. 2.1; 6B_688/2013 du 28 octobre 2013 consid. 4.2).
Le prévenu qui bénéficie d'une ordonnance de classement a en principe droit à une indemnisation pour ses frais de défense et n'est pas débiteur des frais de la procédure, à moins que l'autorité n'établisse que les conditions des art. 426 al. 2 et 430 al. 1 CPP sont remplies, soit que le prévenu a provoqué illicitement et fautivement l'ouverture de la procédure ou a rendu plus difficile la conduite de celle-ci.
2.2. Le ministère public a retenu qu'il n'y avait pas lieu d'indemniser le prévenu car sa présence dans l'appartement des auteurs du trafic de stupéfiants en cause, où la drogue saisie était entreposée, avait rendu nécessaire sa détention provisoire. Outre les circonstances de son appréhension, le fait qu'il se soit déjà adonné par le passé au trafic de stupéfiants avec A._, locataire dudit appartement et également interpellé dans la présente affaire, consolidait le soupçon qu'il était à nouveau impliqué dans un trafic. Les frais de la procédure étaient mis à sa charge. Subsidiairement, le ministère public déclarait rejeter les prétentions en indemnisation sur la base de l'art. 51 CP, considérant que la détention avant jugement pouvait être imputée sur la peine infligée au recourant dans le cadre d'une autre procédure.
2.3. La cour cantonale a tout d'abord considéré que l'application de l'art. 51 CP au cas d'espèce permettait d'exclure l'indemnité pour tort moral, de sorte que le moyen tiré d'une violation de l'art. 429 al. 1 let. c CPP n'était pas fondé. Passant ensuite à la question de la répartition des frais de la procédure préliminaire et de l'indemnisation des dépenses du recourant fondées sur l'exercice raisonnable de ses droits de procédure, conformément aux conclusions prises en ce sens par ce dernier, la cour cantonale a constaté que le recourant avait, en introduction de ses motifs, déclaré dénoncer la violation de l'art. 429 al. 1 let. a et c CPP. Cependant, elle a considéré que le recourant ne discutait pas les considérations de l'ordonnance querellée selon lesquelles son appréhension dans l'appartement où se trouvait de la drogue et son implication dans un passé récent dans un trafic de stupéfiants avec un des occupants de l'appartement " consolidaient " le soupçon de son implication dans un nouveau trafic. Les développements que le recourant consacrait au caractère injustifié de la détention provisoire ne constituaient pas une motivation suffisante, au regard de l'art. 385 al. 1 let. a CPP, pour saisir valablement l'autorité de recours d'un grief ayant trait à la violation de l'art. 426 al. 2 CPP. Compte tenu de la corrélation entre les frais de procédure et les indemnités prévues par la loi, il n'y avait, selon elle, pas non plus à entrer en matière sur l'indemnisation des frais de défense du recourant.
2.4. Bien que la cour cantonale se réfère à l'art. 385 al. 1 let. a CPP, la problématique du défaut de motivation relève de l'art. 385 al. 1 let. b CPP, de sorte que le litige sera examiné sous l'angle de cette disposition.
2.4.1. La motivation du ministère public relative au refus d'une indemnité pour les frais de défense du prévenu et à la mise à sa charge des frais de procédure se confond avec celle consacrée au refus d'une réparation pour le tort moral. Or, contrairement à ce qu'affirme la cour cantonale, le recourant a contesté l'ensemble de cette motivation. En effet, ce dernier a tout d'abord fait valoir que " lorsque le Ministère public justifie l'absence d'allocation d'indemnité et de réparation pour tort moral au motif que la détention s'était avérée nécessaire pour éviter tout risque de collusion, il ne saurait être suivi " (recours cantonal, p. 9). Il a étayé cette assertion en expliquant que le ministère public aurait dû reconnaître depuis le début de la procédure son absence d'implication dans l'affaire, étant donné que les versions des prévenus étaient d'emblée concordantes, à savoir que le recourant n'était pas mêlé au trafic de stupéfiants découvert. En outre, il soulignait avoir toujours nié les faits reprochés et expliqué n'avoir fait que passer à l'appartement où la drogue avait été saisie pour récupérer des effets personnels, alors qu'il souhaitait uniquement retourner au plus vite auprès de sa famille. Il ajoutait que sa condamnation précédente pour violation de la LStup ne pouvait servir à justifier sa mise en détention provisoire puisqu'il avait déjà payé pour cette infraction et purgé sa peine. Le recourant contestait ensuite que le ministère public puisse, de manière subsidiaire, imputer la détention provisoire sur la peine prétendument infligée dans le cadre d'une autre procédure, dans la mesure où celle-ci était encore pendante. Il en concluait que son tort moral devait être réparé au sens de l'art. 429 al. 1 let. c CPP et qu'il avait droit à une indemnité en vertu de l'art. 429 al. 1 let. a CPP " dans la mesure où la procédure présentait un cas de défense obligatoire " (recours cantonal, p. 10).
2.4.2. Après avoir écarté le grief fondé sur une application erronée de l'art. 429 al. 1 let. c CPP en prenant appui sur l'argument subsidiaire du ministère public, la cour cantonale aurait dû prendre acte de ce que le recourant avait attaqué la motivation principale du ministère public dans son ensemble, c'est-à-dire en tant qu'elle concernait la question d'une réparation pour tort moral, mais également en lien avec le refus d'une indemnité pour frais de défense et la répartition des frais de procédure. Le recourant avait ainsi développé les motifs qui commandaient, selon lui, une autre décision sur ces différents points, étant rappelé que le refus d'indemnisation des frais de défense et la mise à la charge du prévenu des frais de procédure en cas de classement sont soumis aux mêmes conditions (consid. 2.1 supra). Appliquant le droit d'office (art. 393 al. 2 let. a CPP), la cour cantonale devait se saisir des griefs soulevés, étant encore précisé qu'elle n'était pas liée, cas échéant, par les motifs invoqués par le recourant (art. 391 al. 1 let. a CPP).
Il s'ensuit que c'est à tort que la cour cantonale a considéré que les griefs susmentionnés souffraient d'un défaut de motivation. En refusant d'entrer en matière pour ce motif, la cour cantonale a violé le droit fédéral.
3.
Le recours doit être admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision dans le sens des considérants. Le recourant qui obtient gain de cause ne supporte pas de frais judiciaires (art. 66 al. 1 LTF) 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 5 février 2016
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy