Faits :
A.
A.a. Par ordonnance pénale du 27 juillet 2020, le Ministère public de l'arrondissement de Lausanne a condamné A._ pour séjour illégal et activité lucrative sans autorisation à une peine privative de liberté de 90 jours et a mis les frais de procédure, par 200 fr., à sa charge.
Le 4 août 2020, A._ a formé opposition à cette ordonnance pénale.
A.b. Le 28 septembre 2020, A._ a été auditionné par le ministère public. Au début de l'audition, il a confirmé l'opposition à l'ordonnance pénale. A la fin de l'audition, à la question "Maintenez-vous votre opposition?", il a répondu "Non, je souhaite payer ce que je dois. J'accepte la condamnation".
A.c. Par ordonnance du 28 septembre 2020, le Ministère public de l'arrondissement de Lausanne a pris acte du retrait de l'opposition de A._ (I), a dit que l'ordonnance pénale du 27 juillet 2020 devenait exécutoire (II) et a dit que la décision était rendue sans frais (III).
B.
Par arrêt du 9 octobre 2020, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté le recours interjeté par A._ et a confirmé l'ordonnance du 28 septembre 2020.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 9 octobre 2020. Il conclut, avec suite de frais et dépens, principalement à ce qu'il soit réformé en ce sens que le recours est admis, que l'ordonnance pénale du 27 juillet 2020 est déclarée nulle et que le retrait de son opposition est déclaré sans effet. Subsidiairement, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause au ministère public. Plus subsidiairement, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.

Considérant en droit :
1.
Dans une section intitulée "Préambule", le recourant expose que l'ordonnance pénale du 27 juillet 2020 serait en contrariété apparente avec la jurisprudence du Tribunal fédéral en matière de sanction des infractions de séjour illégal. Or, comme le relève d'ailleurs le recourant lui-même, l'arrêt attaqué porte uniquement sur la question de savoir si l'intéressé a valablement retiré son opposition à l'ordonnance pénale lors de l'audience du 28 septembre 2020, de sorte que la question de la conformité de l'ordonnance du 27 juillet 2020 ne fait pas l'objet de la décision attaquée (cf. <ref-law>).
2.
Le recourant conteste la validité du retrait de son opposition. Il invoque l'arbitraire dans l'établissement des faits.
2.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation mais aussi dans son résultat (<ref-ruling> cons. 1.1 p. 155 s.; <ref-ruling> consid. 1.1 p. 503; sur la notion d'arbitraire v. <ref-ruling> consid. 1.3.1 p. 92; <ref-ruling> consid. 2.3.1 p. 244). Le Tribunal fédéral n'examine la violation de droits fondamentaux que si ce moyen est invoqué et motivé par le recourant de manière précise (<ref-law>), c'est-à-dire s'il a été expressément soulevé et exposé de manière claire et détaillée. Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 1.3.1 p. 92; <ref-ruling> consid. 1.1 p. 156 et les références citées).
2.2. Aux termes de l'<ref-law>, le prévenu peut former opposition contre l'ordonnance pénale devant le ministère public, par écrit et dans les dix jours (al. 1 let. a). Si aucune opposition n'est valablement formée, l'ordonnance pénale est assimilée à un jugement entré en force (al. 3). L'<ref-law> dispose que 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 (al. 1). Le tribunal de première instance statue sur la validité de l'ordonnance pénale et de l'opposition (al. 2). L'opposition peut être retirée jusqu'à l'issue des plaidoiries (al. 3). L'<ref-law> ne précise pas quelle forme doit revêtir le retrait de l'opposition (cf. <ref-ruling> consid. 2.2).
2.2.1. Déterminer la volonté réelle d'une partie manifestée dans une déclaration est une question de fait (<ref-ruling> consid. 2e/aa p. 379 et les arrêts cités), qui ne peut être revue par le Tribunal fédéral que sous l'angle de l'arbitraire. Si cette volonté réelle ne peut être établie, il convient de rechercher la volonté présumée en interprétant la déclaration selon le principe de la confiance, soit selon le sens que le destinataire peut et doit lui attribuer de bonne foi en fonction des circonstances (interprétation objective). Il s'agit alors d'une question de droit que le Tribunal fédéral peut revoir librement (<ref-ruling> consid. 5.2.2 et 5.2.3 p. 98 s.; <ref-ruling> consid. 3a p. 253; <ref-ruling> consid. 2e/aa p. 379 et les arrêts cités). Pour trancher cette question de droit, il faut cependant se fonder sur le contenu de la déclaration et les circonstances, lesquelles relèvent du fait (<ref-ruling> consid. 5.2.3 p. 98 s.; <ref-ruling> consid. 2e/aa p. 379 s.; <ref-ruling> consid. 5a p. 368; <ref-ruling> consid. 3a p. 168; arrêts 6B_234/2012 du 15 septembre 2012 consid. 2.1; 5A_721/2020 du 8 octobre 2020 consid. 2.1.2).
2.2.2. Selon l'<ref-law>, la renonciation à interjeter recours et le retrait du recours sont définitifs, sauf si la partie a été induite à faire sa déclaration par une tromperie, une infraction ou une information inexacte des autorités. Cette disposition est applicable par analogie au retrait d'opposition (cf. arrêt 6B_619/2018 du 24 août 2018 consid. 2.1; GILLIÉRON/KILLIAS, in JEANNERET/KUHN/PERRIER DEPEURSINGE, Commentaire Romand, Code de procédure pénale suisse, 2e éd. 2019, n° 10 et 13 ad <ref-law>; CHRISTIAN SCHWARZENEGGER, in DONATSCH/LIEBER/SUMMERS/WOHLERS, Kommentar zur Schweizerischen Strafprozessordnung, 3e éd. 2020, n° 2a ad <ref-law>). La preuve des vices du consentement doit être apportée par celui qui s'en prévaut (<ref-ruling> consid. 2.2.1 p. 271; arrêt 6B_619/2018 précité consid. 2.1).
2.3. En l'espèce, la cour cantonale a considéré que le recourant avait valablement retiré son opposition lors de l'audience du 28 septembre 2020, au motif que ses déclarations consignées au procès-verbal étaient claires et sans équivoque, puisqu'il avait répondu à la question "Maintenez-vous votre opposition?" en indiquant "Non, je souhaite payer ce que je dois. J'accepte la condamnation". En outre, selon la cour cantonale, il ne rendait vraisemblable aucun indice permettant de supposer que ce retrait ne serait pas volontaire et qu'il n'en aurait pas compris la portée. Enfin, rien n'indiquait que le recourant aurait été induit à retirer son opposition par une tromperie, une infraction ou une information inexacte du ministère public (cf. <ref-law>). Son retrait d'opposition était ainsi irrévocable.
2.4. Le raisonnement de la cour cantonale ne peut être suivi dans la mesure où il n'est pas conforme aux principes jurisprudentiels sus-rappelés (supra consid. 2.2.1). En considérant que le recourant avait émis une déclaration "claire et sans équivoque", la cour cantonale a directement procédé à une interprétation de la déclaration de volonté selon le principe de la confiance, en omettant ainsi de déterminer la volonté subjective du recourant au regard des déclarations qu'il a faites dans le procès-verbal. Comme le relève le recourant, la cour cantonale ne pouvait pas sans arbitraire retenir qu'aucun indice permettait de supposer que ce retrait ne serait pas volontaire et que le recourant n'en aurait pas compris la portée, dès lors que celui-ci a notamment commencé l'audition du 28 septembre 2020 en déclarant qu'il confirmait son opposition à l'ordonnance pénale (cf. PV d'audition 2, p. 1) puis a déclaré, à la fin de l'audition, juste après avoir parlé des "frais concernant cette interpellation", qu'il souhaitait "payer ce qu'[il] doi[t]" (cf. PV d'audition 2, p. 2), sans que l'on sache si par "payer" il entendait les frais de procédure mis à sa charge, ou encore s'il entendait payer au sens large pour la faute commise. Il en va de même lorsqu'il dit qu'il "accepte la condamnation", l'acceptation pouvant porter sur l'infraction, mais pas nécessairement sur la sanction infligée, soit une peine privative de liberté de 90 jours.
Il s'ensuit que le recours doit être admis et la cause renvoyée à la cour cantonale afin qu'elle détermine la volonté subjective du recourant avant de procéder, le cas échéant, à une interprétation objective de ses déclarations, selon le principe de la confiance, soit selon le sens que le destinataire peut lui attribuer de bonne foi, conformément à la jurisprudence.
3.
Compte tenu de l'admission du grief relatif au retrait d'opposition (cf. supra consid. 2), il n'y a pas lieu d'examiner les autres griefs formulés par le recourant.
4.
Au vu de ce qui précède, le recours est admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité précédente pour nouvelle décision. Le recourant obtient gain de cause. Il ne supporte pas de frais (art. 65 al. 2 et 66 al. 1 LTF) mais peut prétendre à des dépens (<ref-law>), ce qui rend sans objet sa demande d'assistance judiciaire (<ref-law>).
Il peut être procédé au renvoi sans ordonner préalablement un échange d'écritures (cf. <ref-ruling> consid. 3.4.2 p. 296).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause 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 une indemnité de 3'000 fr. en mains du conseil du recourant à 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 8 septembre 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Thalmann