Faits :
A.
Par ordonnance pénale du 11 avril 2014, le Ministère public du canton de Genève a condamné X._ pour infraction à la LStup à une peine pécuniaire de 15 jours-amende, à 30 fr. le jour, avec sursis durant trois ans.
Par ordonnance pénale du 4 mai 2014, cette même autorité a condamné X._ pour infraction à la LEtr et consommation de stupéfiants à une peine privative de liberté de 90 jours. Elle a révoqué le sursis précité.
X._ a fait opposition à cette dernière ordonnance, en temps utile.
Il a été ensuite convoqué par le ministère public à une audience fixée au 2 juin 2014, audience à laquelle il ne s'est pas présenté. Par ordonnance du 2 juin 2014, le ministère public a constaté le retrait de l'opposition, en application de l'art. 355 al. 2 CPP.
B.
Par arrêt du 7 juillet 2014, la Chambre pénale de recours de la Cour de justice du canton de Genève a rejeté le recours formé par X._ contre cette ordonnance.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre cet arrêt. Il conclut, avec suite de frais et dépens, à son annulation et au renvoi de la cause au ministère public afin qu'il statue sur l'opposition, subsidiairement à l'autorité précédente. Il sollicite l'assistance judiciaire.
Le ministère public a conclu au rejet du recours. La cour cantonale a formulé des observations. Le recourant s'est déterminé.
Considérant en droit :
1.
Le recourant invoque n'avoir pas reçu, ni personne en son nom, le mandat de comparution que lui a adressé le ministère public le 12 mai 2014 pour l'audience du 2 juin suivant. Il relève que la procédure ne contient aucun avis de réception. Il estime que le ministère public ne pouvait pas, dans ces conditions, constatant son défaut à dite audience, considérer, en application de l'art. 355 al. 2 CPP, que son opposition était réputée retirée.
1.1. Aux termes de l'art. 355 CPP, en cas d'opposition, le ministère public administre les autres preuves nécessaires au jugement de l'opposition (al. 1). Si l'opposant, sans excuse, fait défaut à une audition malgré une citation, son opposition est réputée retirée (al. 2).
1.2. Dans un arrêt 6B_471/2014 du 18 novembre 2014, le Tribunal fédéral s'est récemment penché sur la problématique soulevée par le recourant. Il a notamment rappelé, ad consid. 1.3, que le fardeau de la preuve de la notification d'une décision ou d'une communication de l'administration et de sa date incombe en principe à l'autorité qui entend en tirer une conséquence juridique. Elle supporte les conséquences d'une absence de preuve en ce sens que, si la notification ou sa date est contestée et qu'il existe effectivement un doute à ce sujet, il y a lieu de se fonder sur les déclarations du destinataire de l'envoi (ATF 136 V 295 consid. 5.9 p. 309 et les références citées). Dans la cause 6B_471/2014 susmentionnée, le Ministère public de la République et canton de Genève avait notifié un mandat de comparution par pli simple à une personne condamnée par ordonnance pénale qui avait fait opposition à celle-ci. Dans la mesure où l'autorité n'avait pas apporté la preuve de la notification du mandat de comparution, le Tribunal fédéral avait jugé qu'elle devait en supporter les conséquences. L'intéressé devait ainsi être mis au bénéfice de ses déclarations. Par conséquent, il fallait considérer qu'il n'avait pas eu une connaissance effective de la convocation et des conséquences du défaut. Dans ces conditions, l'opposition formée ne pouvait être, en cas de défaut de l'intéressé, réputée retirée au sens de l'art. 355 al. 2 CPP.
1.3. En l'espèce, le recourant avait exposé dans son recours cantonal n'avoir pas été atteint par la convocation (arrêt attaqué, p. 2 let. C). L'arrêt cantonal retient que le recourant a été convoqué, le 12 mai 2014, par mandat de comparution à l'adresse indiquée par le recourant quatre jours avant, pour une audience fixée le 2 juin suivant. Il ne constate toutefois pas quelle forme cette convocation aurait revêtue, ni que celle-ci aurait été effectivement notifiée au recourant. Rien dans le dossier cantonal ne laisse penser que le mandat de comparution ait été adressé par lettre recommandée et ait été concrètement remis (art. 105 al. 2 LTF). L'appréciation de l'autorité cantonale que la proximité entre l'envoi par le ministère public, le 12 mai 2014, du mandat de comparution, et celui, le 16 mai 2014, d'un courrier du recourant à cette autorité pour demander la restitution de sa carte d'identité "ne permettait pas de supputer que la convocation ne l'avait pas atteint, mais, au contraire, qu'elle [la lettre du recourant] intervenait en réponse, pour préciser ou ajouter un point de contestation" (arrêt entrepris, consid. 3.5) n'est pas convaincante. Sauf à verser dans l'arbitraire, une telle approche ne permet pas de retenir que la convocation a atteint le recourant. Dans ces conditions et conformément à la jurisprudence rappelée ci-dessus, il convient de considérer que le mandat de comparution n'est pas parvenu au recourant. Que celui-ci ait changé d'adresse ne change rien à la question, le dossier ne permettant pas de retenir que le pli lui soit parvenu à l'ancienne ou à la nouvelle adresse indiquée. Par voie de conséquence, l'art. 355 al. 2 CPP n'était pas applicable. Le recours doit dès lors être admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité précédente pour nouvelle décision.
Ce qui précède rend sans objet les autres griefs soulevés par le recourant.
2.
Il n'y a pas lieu de prélever de frais judiciaires (art. 66 al. 1 et 4 LTF). Le recourant peut prétendre à des dépens à la charge du canton de Genève (art. 68 al. 1 LTF). Ce qui précède rend sans objet sa demande 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.
La République et canton de Genève versera à l'avocate du recourant une indemnité 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 18 septembre 2015
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Cherpillod