Faits : A. Par ordonnance pénale rendue le 25 janvier 2018, le Ministère public du canton de Genève a déclaré X._ coupable d'infractions aux art. 19 al. 1 let. c et d LStup, 115 al. 1 let. c aLEtr et 286 al. 1 CP. Il lui a infligé une peine privative de liberté de 70 jours, une peine pécuniaire de 20 jours-amende et a révoqué un précédent sursis. Le 2 février 2018, X._ a formé opposition. Par ordonnance du 27 février 2018, le ministère public a décidé de maintenir l'ordonnance pénale et a transmis le dossier au Tribunal de police du canton de Genève. B. Par mandat de comparution du 14 août 2018, le Tribunal de police a convoqué X._, personnellement, à son domicile élu chez son conseil, à une audience fixée au 24 septembre 2018 à 9h00. Par courrier du 20 septembre 2018, le conseil de X._ a sollicité le report de l'audience au motif qu'il n'avait pas réussi à joindre son client pour l'informer de l'audience. Dans sa réponse du même jour, le Tribunal de police a indiqué que les conséquences de la possible absence du prévenu seraient débattues à l'audience, laquelle était dès lors maintenue. Par courrier du lendemain adressé au Tribunal de police, le conseil de X._ l'a informé qu'il serait excusé à l'audience par son avocate stagiaire, qui solliciterait une attestation de plaidoirie. C. Par ordonnance du 24 septembre 2018, le Tribunal de police a constaté le défaut de X._ à l'audience du même jour, dit que l'opposition qu'il avait formée le 2 février 2018 était réputée retirée et que l'ordonnance pénale du 25 janvier 2018 était assimilée à un jugement entré en force. D. Par arrêt du 8 novembre 2018, la Chambre pénale de recours de la Cour de justice du canton de Genève a déclaré le recours de X._ à l'encontre de l'ordonnance précitée irrecevable et a renvoyé la cause au Tribunal de police pour raison de compétence. E. X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 8 novembre 2018. Il conclut, avec suite de frais et dépens, à son annulation et, principalement, à la recevabilité de son recours cantonal. Subsidiairement, il conclut à ce qu'il soit dit que l'opposition du 2 février 2018 n'est pas réputée retirée, à la constatation de la violation de l'art. 6 par. 1 phr. 1 et 2 et par. 3 let. c CEDH et de l'art. 2 du protocole additionnel n° 7 à la CEDH. En tout état, il sollicite le renvoi de la cause au Tribunal de police pour suite de la procédure. Il requiert par ailleurs le bénéfice de l'assistance judiciaire. F. Invités à se déterminer sur le recours, la cour cantonale et le ministère public se sont référés à l'arrêt entrepris.