Faits :
A.
Par ordonnance pénale du 31 août 2018, la Procureure de l'arrondissement de La Côte a déclaré A._ coupable de vol et l'a condamné à quatre mois de peine privative de liberté, sous déduction d'un jour de détention provisoire.
Par acte du 11 septembre 2018, A._ a formé opposition contre cette ordonnance.
Par mandat du 3 octobre 2018, envoyé par courrier recommandé, la Procureure a cité A._ à comparaître à son audience du 20 novembre 2018. Ce mandat indiquait notamment "si l'opposant, sans excuse, fait défaut à une audition malgré une citation, son opposition est réputée retirée".
Le 20 novembre 2018, A._ a été entendu par la Procureure. Par avis du 22 novembre 2018, celle-ci a informé le prévenu qu'elle maintenait son ordonnance pénale et transmettait le dossier de la cause au Tribunal de police en vue des débats, ladite ordonnance tenant lieu d'acte d'accusation.
B.
Par mandat du 4 décembre 2018, le Tribunal de police de l'arrondissement de La Côte a cité A._ à comparaître à son audience du 17 janvier 2019. Ce mandat, envoyé par pli recommandé, est venu en retour avec la mention "non réclamé". Le Tribunal de police a une nouvelle fois cité A._ à comparaître à son audience, par mandat du 19 décembre 2018, envoyé par pli recommandé, lequel est à nouveau venu en retour avec la mention "non réclamé".
Par prononcé du 17 janvier 2019, le Tribunal de police a constaté que l'opposition formée en temps utile par A._ était retirée (I), que l'ordonnance pénale du 31 août 2018 était exécutoire (II), a retourné le dossier au ministère public (III) et a laissé les frais à la charge de l'Etat (IV).
C.
Par arrêt du 15 mai 2019, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté le recours formé par A._ contre le prononcé du 17 janvier 2019, qu'elle a confirmé.
D.
A._ forme un recours en matière pénale auprès du Tribunal fédéral et conclut, avec suite de frais et dépens, à l'annulation de l'arrêt cantonal et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. Il requiert le bénéfice de l'assistance judiciaire et demande l'octroi de l'effet suspensif au recours.
E.
Invités à se déterminer sur le mémoire de recours, la cour cantonale et le ministère public y ont renoncé en se référant aux considérants de la décision attaquée.
F.
Le Tribunal fédéral a délibéré sur le présent recours en séance publique le 21 novembre 2019.
Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir violé l'art. 356 al. 4 CPP en considérant que son opposition à l'ordonnance pénale était réputée retirée. Selon lui, les conditions d'application de cette disposition ne sont pas réalisées en l'espèce, faute d'avoir pris connaissance de la citation à comparaître ainsi que des conséquences du défaut. Il conteste s'être désintéressé de la procédure pénale. Il invoque une violation de son droit d'être entendu à cet égard (art. 3 CPP, 29 Cst. et 6 CEDH).
1.1. Le prévenu peut former opposition contre l'ordonnance pénale devant le ministère public (cf. art. 354 al. 1 let. a CPP). Lorsqu'il décide de maintenir l'ordonnance pénale, le ministère public transmet sans retard le dossier au tribunal de première instance en vue des débats. L'ordonnance pénale tient lieu d'acte d'accusation (art. 356 al. 1 CPP).
1.1.1. Dans le cadre de l'opposition à l'ordonnance pénale, l'art. 356 al. 4 CPP précise que si l'opposant fait défaut aux débats sans être excusé et sans se faire représenter, son opposition est réputée retirée. Cette disposition consacre une fiction légale de retrait de l'opposition en cas de défaut injustifié, à l'instar de l'art. 355 al. 2 CPP, auquel elle correspond (ATF 142 IV 158 consid. 3.1 p. 160 et 3.5 p. 162). Eu égard aux spécificités de la procédure de l'ordonnance pénale, l'art. 356 al. 4 CPP doit être interprété à la lumière de la garantie constitutionnelle (art. 29a Cst.) et conventionnelle (art. 6 par. 1 CEDH) de l'accès au juge, dont l'opposition (art. 354 CPP) vise à assurer le respect en conférant à la personne concernée la faculté de soumettre sa cause à l'examen d'un tribunal (cf. ATF 142 IV 158 consid. 3.1 p. 159 s. et 3.4 p. 161 s.; 140 IV 82 consid. 2.3 p. 84 et 2.6 p. 86; arrêts 6B_365/2018 du 5 juillet 2018 consid. 3.1; 6B_802/2017 du 24 janvier 2018 consid. 2.1). En ce sens, la fiction de retrait de l'opposition consacrée par l'art. 356 al. 4 CPP ne s'applique que si l'opposant a effectivement eu connaissance de la citation à comparaître et des conséquences du défaut. La fiction légale du retrait ne peut s'appliquer que si l'on peut déduire de bonne foi (art. 3 al. 2 let. a CPP) du défaut non excusé un désintérêt pour la suite de la procédure, lorsque l'opposant a conscience des conséquences de son omission et renonce à ses droits en connaissance de cause (ATF 142 IV 158 consid. 3.1 p. 159 s. et consid. 3.3 p. 161; 140 IV 82 consid. 2.3 p. 84 et consid. 2.5 p. 85; arrêts 6B_1297/2018 du 6 février 2019 consid. 1.1; 6B_365/2018 du 5 juillet 2018 consid. 3.1; voir également arrêt 6B_413/2018 du 7 juin 2018 consid. 3, dans lequel le recours n'a pas été examiné sous l'angle des garanties constitutionnelle et conventionnelle d'accès au juge, étant établi que le recourant avait eu connaissance des conséquences du défaut par le biais de l'ordonnance pénale [consid. 5]). Demeurent réservés les cas d'abus de droit (ATF 142 IV 158 consid. 3.4 p. 162; 140 IV 82 consid. 2.7 p. 86).
1.1.2. Selon l'art. 85 al. 4 let. a CPP, un prononcé est réputé notifié lorsque, expédié par lettre signature, il n'a pas été retiré dans les sept jours à compter de la tentative infructueuse de remise du pli, si la personne concernée devait s'attendre à une telle remise. La personne concernée ne doit s'attendre à la remise d'un prononcé que lorsqu'il y a une procédure en cours qui impose aux parties de se comporter conformément aux règles de la bonne foi, à savoir de faire en sorte, entre autres, que les décisions relatives à la procédure puissent leur être notifiées. Le devoir procédural d'avoir à s'attendre avec une certaine vraisemblance à recevoir la notification d'un acte officiel naît avec l'ouverture d'un procès et vaut pendant toute la durée de la procédure (ATF 130 III 396 consid. 1.2.3 p. 399). Il est admis que la personne concernée doit s'attendre à la remise d'un prononcé lorsqu'elle est au courant qu'elle fait l'objet d'une instruction pénale au sens de l'art. 309 CPP (arrêts 6B_934/2018 du 9 novembre 2018 consid. 2.1; 6B_233/2017 du 12 décembre 2017 consid. 2.1; 6B_1032/2015 du 25 mai 2016 consid. 1.1 et les références citées). De jurisprudence constante, celui qui se sait partie à une procédure judiciaire et qui doit dès lors s'attendre à recevoir notification d'actes du juge, est tenu de relever son courrier ou, s'il s'absente de son domicile, de prendre des dispositions pour que celui-ci lui parvienne néanmoins. A ce défaut, il est réputé avoir eu, à l'échéance du délai de garde, connaissance du contenu des plis recommandés que le juge lui adresse. Une telle obligation signifie que le destinataire doit, le cas échéant, désigner un représentant, faire suivre son courrier, informer les autorités de son absence ou leur indiquer une adresse de notification (ATF 141 II 429 consid. 3.1 p. 431 s.; 139 IV 228 consid. 1.1 p. 230 et les références citées).
1.1.3. Dans l'arrêt publié aux ATF 140 IV 82, la cour de céans a retenu que la fiction du retrait de l'opposition à une ordonnance pénale pour défaut de comparution devant le ministère public, malgré une citation (art. 355 al. 2 CPP), ne pouvait découler de la fiction légale de la notification de la citation à comparaître (art. 85 al. 4 let. a CPP). Sous cet angle, il a été considéré que cette double fiction (fiction de la notification de la citation et fiction du retrait de l'opposition) n'était pas compatible avec la garantie constitutionnelle de l'accès au juge s'agissant des ordonnances pénales. En effet, le retrait de l'opposition que la loi rattache au défaut non excusé suppose que le prévenu soit conscient des conséquences de son manquement et qu'il renonce à ses droits en toute connaissance de la situation juridique déterminante (ATF 140 IV 82 consid. 2.3 p. 84; arrêts 6B_673/2015 du 19 octobre 2016 consid. 1.4; 6B_152/2013 du 27 mai 2013 consid. 4.5). Cette jurisprudence relative à l'art. 355 al. 2 CPP vaut également sous l'angle de l'art. 356 al. 4 CPP, dans la mesure où il s'agit de normes correspondantes (ATF 142 IV 158 consid. 3.5 p. 162). La mention, dans l'arrêt publié aux ATF 142 IV 158, selon laquelle la citation à comparaître devrait être envoyée une seconde fois lorsque la première vient en retour avec la mention "non réclamé" (consid. 3.5 p. 162) n'a aucune portée s'agissant de l'interdiction de la double fiction. Cela étant, une partie de la doctrine préconise, lorsque l'opposant à l'ordonnance pénale, dûment convoqué, fait défaut à l'audience de première instance, de mener une procédure par défaut au sens des art. 366 ss CPP, pour autant que les conditions d'une telle procédure soient réalisées (cf. JEANNERET/KUHN, Précis de procédure pénale, 2e éd. 2018, n°s 17037 et 17039a; CHRISTIAN DENYS, Ordonnance pénale: Questions choisies et jurisprudence récente, SJ 2016 II p. 130; JEANNERET/KUHN, Le défaut : défauts et des faux pas au fil du procès pénal, in Liber amicorum für Andreas Donatsch, 2012, p. 370 s.).
1.2. Selon la cour cantonale, contrairement à la jurisprudence relative à l'art. 355 al. 2 CPP, la phase concernant la saisine du Tribunal de police sur opposition (art. 356 CPP) pouvait faire l'objet d'une appréciation différente, dès lors que le recourant se savait partie à une procédure pénale et s'était vu notifier l'ordonnance pénale. Il avait en outre lui-même admis avoir participé activement à la procédure d'opposition et il n'ignorait pas que cette opposition l'aurait conduit au Tribunal de police. Il se savait partie à la procédure et devait s'attendre à recevoir un acte judiciaire et devait donc relever son courrier. A défaut d'être allé chercher les recommandés à l'échéance du délai de garde, il était réputé avoir eu connaissance de ces plis, conformément à l'art. 85 al. 4 let. a CPP, puisque même s'ils n'avaient pas été réclamés, ils avaient été remis à son adresse exacte. En ne prenant pas toute disposition utile pour relever son courrier, il avait ainsi clairement manifesté son désintérêt pour la procédure. La cour cantonale a en définitive retenu que le recourant était réputé avoir retiré son opposition à l'ordonnance pénale du 31 août 2018 en raison de son défaut non excusé à l'audience du 17 janvier 2019.
1.3. Cette approche ne saurait être suivie. La cour cantonale s'écarte expressément de la jurisprudence publiée en matière de fiction du retrait de l'opposition. Elle déduit, à tort, de la fiction de la notification (art. 85 al. 4 let. a CPP), que le recourant avait connaissance de la citation à comparaître et des conséquences du défaut, alors même qu'elle reconnaît que les courriers contenant le mandat ont été retournés au tribunal faute d'avoir été réclamés. Par son raisonnement, la cour cantonale admet une double fiction (fiction de notification selon l'art. 85 al. 4 let. a CPP et fiction de retrait de l'opposition selon l'art. 356 al. 4 CPP) qui n'est pas opposable au prévenu, faute de pouvoir établir une connaissance effective de la convocation et de ses conséquences. En l'espèce, le recourant n'avait pas conscience des conséquences d'un défaut à l'audience des débats devant le tribunal de première instance. On ne peut retenir qu'il aurait renoncé à ses droits en connaissance de cause. La mention contenue dans le mandat du ministère public concernant l'audience du 20 novembre 2018 ne permet pas de retenir que le recourant avait effectivement connaissance de la citation à comparaître devant le juge de première instance ainsi que des conséquences d'un défaut à cette audience-ci. Si, lors de l'audition du 20 novembre 2018, la Procureure a informé le recourant qu'elle maintenait son ordonnance et allait transmettre le dossier au tribunal, elle n'a toutefois pas précisé qu'il y serait alors convoqué ni ne l'a informé des conséquences d'un défaut. Cela ne ressort pas davantage de l'avis du 22 novembre 2018, adressé au recourant, informant de la transmission du dossier au tribunal.
En formant opposition à l'ordonnance pénale et en se rendant à l'audition devant le ministère public, le recourant a manifesté son intention d'être jugé par un tribunal. Il ne ressort pas de l'arrêt entrepris qu'il aurait eu un comportement constitutif d'abus de droit.
Au vu de ce qui précède, la cour cantonale a violé le droit fédéral en retenant que l'opposition formée par le recourant contre l'ordonnance pénale était réputée retirée.
En conséquence, le recours doit être admis, l'arrêt entrepris annulé et la cause renvoyée à la cour cantonale afin qu'elle renvoie à son tour la cause au tribunal de première instance qui devra convoquer une nouvelle audience, cas échéant, entreprendre une procédure par défaut (art. 366 ss CPP).
2.
Dans la mesure où le recours doit être admis, il n'y a pas lieu d'examiner le grief soulevé par le recourant déduit de l'inégalité de traitement avec son co-prévenu.
3.
Compte tenu de ce qui précède, 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 supportera pas de frais judiciaires (art. 66 al. 1 LTF) et a droit à des dépens à la charge du canton de Vaud (art. 68 al. 1 LTF). La demande d'assistance judiciaire devient ainsi sans objet. Enfin, la cause étant tranchée, la demande d'effet suspensif devient elle aussi sans objet.
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 à la cour cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Vaud versera au mandataire 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 au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 21 novembre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Klinke