Faits : A. Par ordonnances du 14 juin 2016 (enquête n° AM16.009520) et du 21 juillet 2017 (enquête n° AM17.006106), le ministère public de l'arrondissement de Lausanne a condamné X._ respectivement à une peine privative de liberté de 180 jours, ainsi qu'à une peine pécuniaire de 120 jours-amende à 30 fr. le jour, pour séjour illégal et activité lucrative sans autorisation. Le 26 juillet puis le 31 juillet 2017, X._ a formé opposition à ces deux ordonnances pénales, indiquant élire domicile en l'étude de son défenseur. Le 2 août 2017, le ministère public a ordonné la jonction des deux enquêtes. Il a désigné Me A._ en qualité de défenseur d'office de X._. B. Le 12 septembre 2017, le ministère public a procédé à l'audition de X._, assisté de son défenseur d'office, lequel a confirmé son opposition. Le 3 octobre 2017, le ministère public a décidé de maintenir les ordonnances pénales du 14 juin 2016 et du 21 juillet 2017 et a transmis le dossier au Tribunal de police de l'arrondissement de Lausanne. C. Par prononcé du 17 octobre 2017, le Tribunal de police de l'arrondissement de Lausanne a déclaré irrecevable l'opposition formée par X._ contre l'ordonnance pénale du 14 juin 2016, constaté que cette ordonnance pénale était exécutoire, ordonné la disjonction de la cause n° AM17.006106 de la cause n° AM16.009520 pour faire l'objet d'un jugement séparé. Par arrêt du 22 janvier 2018, la Chambre des recours pénale du Tribunal cantonal du canton de Vaud a admis le recours déposé par X._ contre le prononcé du 17 octobre 2017 qu'elle a annulé, la cause étant renvoyée au tribunal de première instance pour qu'il statue sur l'opposition formée par X._ le 26 juillet 2017. D. Le 9 juillet 2018, le Président du Tribunal de police de l'arrondissement de Lausanne a cité X._ à comparaître personnellement le 10 octobre 2018 afin d'être entendu dans le cadre de son opposition aux ordonnances pénales rendues contre lui. Il était précisé que dans le cas où il ne se présenterait pas, son opposition était réputée retirée et les ordonnances pénales contestées seraient déclarées exécutoires (art. 356 al. 4 CPP). Cette citation à comparaître a été notifiée à X._ le 10 juillet 2018 à 11h45. X._ ne s'est pas présenté à l'audience du 10 octobre 2018. Son défenseur d'office a indiqué ne pas connaître les raisons de l'absence de son client mais a confirmé la volonté de ce dernier de se défendre dans la présente cause. L'avocat a requis le renvoi de l'audience à une date ultérieure. E. Par jugement du 10 octobre 2018, le Tribunal de police de l'arrondissement de Lausanne a constaté que les oppositions formées par X._ contre les ordonnances pénales rendues par le ministère public en date des 14 juin 2016 et 21 juillet 2017 étaient retirées, constaté que lesdites ordonnances étaient exécutoires et mis les frais de justice à la charge de X._. Le tribunal a considéré que X._ - pourtant dûment assigné à comparaître - n'avait fait valoir aucun motif justificatif pour expliquer son défaut de comparution à l'audience du 10 octobre 2018, ne demandant pas à être représenté, son défenseur ignorant les raisons de son absence. F. Par arrêt du 1er novembre 2018, la Chambre des recours pénale du Tribunal cantonal du canton de Vaud a rejeté le recours formé par X._ contre le jugement de première instance et l'a confirmé. G. X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 1er novembre 2018. Il conclut à son annulation et au renvoi de la cause au tribunal de première instance pour nouvelle audience et nouveau jugement. Il requiert le bénéfice de l'assistance judiciaire.