Citation: 6B_673/2019 E. 4

Il résulte de ce qui précède que 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). Le canton de Genève n'a pas non plus à en supporter (art. 66 al. 4 LTF). Le recourant a droit à des dépens à la charge du canton de Genève (art. 68 al. 1 LTF). Compte tenu de leurs très brèves déterminations, auxquelles le recourant n'a pas répondu, il n'y a pas lieu de condamner les intimés au paiement de frais judiciaires ou de dépens (art. 66 al. et 68 al. 1 LTF). Par ces motifs, le Tribunal fédéral prononce :