Faits : A. A.a. Le 1er décembre 2015, X._ a été entendu par la police judiciaire en qualité de prévenu du chef d'escroquerie et d'infraction à la loi fédérale sur l'assurance-accident, à la suite d'une plainte pénale de l'assurance A._. Il était assisté d'un avocat. Il a pris connaissance des droits et obligations du prévenu. A.b. Par ordonnance pénale du 20 juillet 2016, le Ministère public de la République et canton de Genève a condamné X._ à une peine pécuniaire de 150 jours-amende, avec sursis pendant trois ans, pour escroquerie, pour avoir, à Genève, entre les mois d'août 2013 et janvier 2015, en sa qualité d'administrateur avec signature individuelle de la société B._ SA, de concert avec C._, employé de ladite société, astucieusement et sciemment induit en erreur et atteint aux intérêts pécuniaires de la société d'assurance A._, en faisant parvenir à cette dernière des déclarations concernant les incapacités de travail et de gain de C._, inexactes, obtenant de la sorte le versement d'indemnités journalières représentant un montant total de 151'639 fr. 45. L'ordonnance a été envoyée en recommandé, le 21 juillet 2016, au domicile de X._ en France. B. X._, par l'intermédiaire de son avocat, a formé opposition à ladite ordonnance, par courrier du 11 août 2016. Il a expliqué n'en avoir pris connaissance que le jour-même, étant rentré de vacances la veille. A la demande du ministère public, il a transmis divers documents relatifs à son séjour estival. Statuant sur opposition, par ordonnance du 27 avril 2017, le Tribunal de police a constaté l'irrecevabilité de l'opposition formée par X._ pour cause de tardiveté et a renvoyé la procédure au ministère public " pour qu'il statue sur la demande de restitution du délai d'opposition ". Par ordonnance du 19 juillet 2017, le ministère public a refusé de restituer le délai d'opposition. Il a considéré que X._ devait s'attendre à recevoir une décision judiciaire et ainsi prendre les mesures nécessaires dans le cas d'une absence à l'étranger, ce qu'il n'avait pas fait. C. Par arrêt du 9 novembre 2017, la Chambre pénale de recours de la Cour de justice du canton de Genève a rejeté le recours interjeté par X._ contre l'ordonnance du 19 juillet 2017. D. X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 9 novembre 2017. Il conclut, avec suite de frais et dépens, principalement, à l'annulation de l'arrêt attaqué et à la restitution du délai d'opposition. A titre subsidiaire, il demande l'annulation de l'arrêt attaqué et le renvoi de la cause à la cour cantonale pour nouvelle décision. En outre, il sollicite l'octroi de l'effet suspensif, lequel lui a été refusé par ordonnance présidentielle du 20 décembre 2017. Invités à se déterminer, la cour cantonale a renoncé à formuler des observations et le ministère public a conclu au rejet du recours.