Faits : A. Le 15 mai 2014, X._ a déposé plainte pénale contre A._ pour injure et menaces; par courrier adressé le 20 juin 2014 au Ministère public du canton de Genève, il s'est constitué, par l'intermédiaire de son conseil, partie demanderesse au civil et au pénal. Par ordonnance pénale du 9 septembre 2014, le ministère public a déclaré A._ coupable de menaces et l'a condamné à une peine pécuniaire de 30 jours-amende à 90 fr. le jour-amende, avec sursis pendant trois ans. B. X._ a formé opposition à l'ordonnance pénale susmentionnée auprès du ministère public, afin que celui-ci fixe les dépens. Il a conclu, à ce titre, au versement d'une indemnité de 945 francs. Par ordonnance sur opposition du 22 décembre 2014, le ministère public a maintenu l'ordonnance pénale du 9 septembre 2014 et transmis la procédure au Tribunal de police du canton de Genève. Le Tribunal de police a rendu son ordonnance le 9 février 2015, déclarant irrecevable l'opposition de X._, au motif que celui-ci n'avait pas fait valoir de conclusions civiles par-devant le ministère public et n'avait dès lors pas qualité pour agir. Statuant le 24 avril 2015, la Chambre pénale de recours de la Cour de justice du canton de Genève a rejeté le recours de X._ contre l'ordonnance du tribunal de police du 9 février 2015, qu'elle a confirmée. C. Agissant par la voie du recours en matière pénale au Tribunal fédéral, X._ conclut à l'annulation de l'arrêt de la chambre pénale du 24 avril 2015 et au renvoi de la cause à l'autorité cantonale pour nouvelle décision dans le sens des considérants. Invitée à se déterminer, la cour cantonale a renoncé à formuler des observations. Le ministère public conclut au rejet du recours.