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.