Faits :
A.
Par ordonnance pénale du 5 avril 2019, le Ministère public de la République et canton de Genève a condamné A._, pour infraction à la LStup, à une peine privative de liberté de 180 jours, peine d'ensemble après révocation de la libération conditionnelle qui lui avait été accordée le 29 octobre 2018.
A la suite de l'opposition formée par A._ contre cette ordonnance pénale, le ministère public a convoqué le prénommé à une audition fixée au 22 mai 2019. A._ ne s'y est pas présenté.
Par ordonnance du 22 mai 2019, le ministère public a constaté ce défaut et a dit que l'ordonnance pénale du 5 avril 2019 était entrée en force.
B.
A._ a formé recours contre cette décision. Il a indiqué qu'il n'avait pas pris connaissance de son courrier, qu'il rencontrait des difficultés administratives et financières et qu'une demande de mesures de protection avait été faite auprès de l'autorité compétente.
Par arrêt du 19 juin 2019, la Chambre pénale de recours de la Cour de justice de la République et canton de Genève a rejeté ce recours.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 19 juin 2019, en concluant, avec suite de frais et dépens, principalement à ce qu'une violation des garanties du procès équitable et du droit à un avocat soit constatée, à l'annulation de l'arrêt précité et au renvoi de la cause à l'autorité précédente afin que celle-ci nomme un avocat pour l'assister et ordonne la tenue d'une nouvelle audience sur opposition. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire ainsi que l'octroi de l'effet suspensif.
Par courrier du 28 août 2019, le Président de la Cour de droit pénal du Tribunal fédéral a indiqué à A._ que, conformément à l'art. 103 al. 2 let. b LTF, sa demande d'octroi de l'effet suspensif n'avait pas d'objet, dès lors qu'une peine privative de liberté ferme avait été prononcée à son encontre.
D.
Invités à se déterminer sur le recours, la cour cantonale a présenté des observations, tandis que le ministère public y a renoncé.
Considérant en droit :
1.
Le recourant conteste avoir fait défaut sans excuse valable à l'audience fixée par le ministère public le 22 mai 2019. Il reproche à l'autorité précédente de n'avoir pas tenu compte des problèmes de santé le rendant incapable de s'occuper des questions juridiques et administratives le concernant.
1.1. Aux termes de l'art. 355 CPP, en cas d'opposition, le ministère public administre les autres preuves nécessaires au jugement de l'opposition (al. 1). Si l'opposant, sans excuse, fait défaut à une audition malgré une citation, son opposition est réputée retirée (al. 2). En vertu de l'art. 355 al. 3 CPP, après l'administration des preuves, le ministère public décide de maintenir l'ordonnance pénale (let. a), de classer la procédure (let. b), de rendre une nouvelle ordonnance pénale (let. c) ou de porter l'accusation devant le tribunal de première instance (let. d).
L'ordonnance pénale n'est compatible avec la garantie constitutionnelle de l'accès au juge (art. 29a Cst.), respectivement avec le droit à ce qu'une cause soit entendue par un tribunal jouissant d'un plein pouvoir d'examen (art. 6 par. 1 CEDH), que dans la mesure où il appartient en dernier lieu à la personne concernée de l'accepter ou de faire usage, par le biais de l'opposition, de son droit à un examen par un tribunal. Contrairement à ce que prévoit l'art. 205 CPP, le défaut au sens de l'art. 355 al. 2 CPP peut conduire à la perte totale de la protection légale, alors même que la personne concernée a expressément formé opposition, revendiquant ainsi précisément cette protection légale devant les autorités compétentes (ATF 142 IV 158 consid. 3.2 p. 160 s.; 140 IV 82 consid. 2.4 p. 84 s.). Selon une interprétation conforme à la Constitution et compte tenu de l'importance fondamentale que revêt le droit d'opposition, la fiction légale du retrait prévue par l'art. 355 al. 2 CPP ne peut ainsi s'appliquer que si l'on peut déduire de bonne foi (art. 3 al. 2 let. a CPP) du comportement général de la personne concernée et de son désintérêt pour la suite de la procédure pénale qu'elle a renoncé en connaissance de cause à la protection dont elle jouit en vertu de la loi (ATF 142 IV 158 consid. 3.1 p. 159 s. et consid. 3.3 p. 161; 140 IV 82 consid. 2.5 p. 85 s.).
Dans un arrêt récent concernant un prévenu condamné par ordonnance pénale qui ne s'était pas présenté à l'audition fixée par le ministère public à la suite de son opposition, le Tribunal fédéral a estimé que le fait qu'une personne eût fait l'objet d'un placement à des fins d'assistance au moment de l'audience du ministère public empêchait de lui opposer, sans autre, en cas de défaut, l'art. 355 al. 2 CPP (arrêt 6B_207/2019 du 13 juin 2019 consid. 3.4).
1.2. En l'espèce, il ressort du dossier cantonal que le ministère public a adressé à l'autorité précédente, le 18 juin 2019, copie d'une décision datée du 24 mai 2019 aux termes de laquelle un curateur d'office était désigné au recourant concernant une procédure civile. Cette décision a été prise deux jours après l'audition du ministère public du 22 mai 2019 à laquelle le recourant ne s'était pas présenté. Elle n'est pas mentionnée dans l'arrêt attaqué, non plus que la date à laquelle une demande en vue d'obtenir cette mesure a été faite ou les motifs la justifiant. Il ressort uniquement de l'arrêt attaqué que le recourant a fait état d'une telle requête dans son recours. Toutefois, dans son courrier d'opposition du 9 avril 2019, le recourant indiquait déjà qu'une telle demande avait été présentée par son intervenante socio-judiciaire.
Dans ces circonstances, il n'était pas possible, sans prendre en considération les éléments mentionnés, de conclure que le recourant ne s'était pas présenté sans excuse valable à l'audition appointée deux jours avant qu'un curateur d'office lui fût désigné - certes seulement pour un procès civil -, qu'il avait ainsi consciemment renoncé à ses droits et s'était désintéressé de la procédure pénale, au seul motif qu'il aurait admis n'avoir pas pris connaissance de son courrier.
Le recours doit donc être admis, l'arrêt attaqué annulé et la cause renvoyée à l'autorité précédente pour nouvelle instruction et nouvelle décision. Ce qui précède rend sans objet les autres griefs soulevés par le recourant. Il appartiendra à l'autorité précédente d'examiner, dans le cadre de la nouvelle décision à rendre, si le recourant doit être assisté d'un défenseur d'office.
2.
Le recours doit être admis. Le recourant, qui obtient gain de cause, ne supportera pas de frais judiciaires (art. 66 al. 1 LTF). Il a droit à de pleins dépens, à la charge du canton de Genève (art. 68 al. 1 LTF). Ce qui précède rend sans objet sa demande d'assistance judiciaire.
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 à l'autorité précédente pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Genève versera au conseil 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 à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 4 décembre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa