Faits : A. Par ordonnance pénale du 20 août 2013, le Préfet du district du Jura-Nord vaudois (ci-après : le Préfet) a condamné X._, pour violation simple des règles de la circulation routière, à une amende de 800 francs. A la suite de l'opposition formée par le prénommé contre cette ordonnance pénale et de son audition, le Préfet a, le 14 novembre 2013, rendu une ordonnance de classement. Le 18 novembre 2013, le Procureur général du canton de Vaud (ci-après : le Procureur général) a refusé d'approuver cette ordonnance de classement, estimant que les auditions de A._, de B._ et de C._ étaient indispensables. Après avoir entendu les derniers nommés, le Préfet a, le 22 janvier 2014, rendu une ordonnance pénale par laquelle il a condamné X._, pour violation simple des règles de la circulation routière, à une amende de 800 francs. Le 3 février 2014, ce dernier a formé opposition contre cette ordonnance pénale. Le lendemain, le Préfet a décidé de maintenir celle-ci et a transmis le dossier de la cause au Tribunal de police de l'arrondissement de la Broye et du Nord vaudois (ci-après : le Tribunal de police) comme objet de sa compétence, l'ordonnance pénale tenant lieu d'acte d'accusation. Par courrier du 14 février 2014, le Procureur général a formé opposition contre l'ordonnance pénale du 22 janvier 2014 et a demandé au Préfet de faire application de l'art. 357 al. 4 CPP afin de lui transmettre le dossier de la cause. Par courrier du 17 février 2014, X._ a indiqué retirer les oppositions formées contre les ordonnances pénales des 20 août 2013 et 22 janvier 2014. Le 19 février 2014, le Préfet a transmis le dossier de la cause au Procureur général. Par prononcé du 2 septembre 2014, le Tribunal de police a constaté que l'opposition formée le 14 février 2014 par le Procureur général contre l'ordonnance pénale du 22 janvier 2014 était valable et a renvoyé le dossier de la cause au Ministère public central pour que ce dernier modifie l'accusation. Par arrêt du 3 novembre 2014, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté le recours formé par X._ contre le prononcé du Tribunal de police. Elle a confirmé la validité de l'opposition et le renvoi du dossier au Ministère public central. Par arrêt du 11 janvier 2016 (6B_194/2015), le Tribunal fédéral a déclaré irrecevable le recours formé par X._ contre cet arrêt. Par acte d'accusation du 13 décembre 2016, le Ministère public central a engagé l'accusation contre X._ auprès du Tribunal de police, pour violation grave des règles de la circulation routière. B. Par jugement du 24 février 2017, rectifié par prononcé du 13 mars 2017, le Tribunal de police a condamné X._, pour violation grave des règles de la circulation routière, à une peine pécuniaire de 60 jours-amende à 50 fr. le jour, avec sursis pendant deux ans, ainsi qu'à une amende de 800 francs. C. Par jugement du 14 août 2017, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel formé par X._ contre ce jugement et a intégralement confirmé celui-ci. La cour cantonale a retenu les faits suivants. X._, né en 1960, est officier de carrière dans l'armée suisse. Il est divorcé et père de deux filles. Son casier judiciaire et son extrait ADMAS ne révèlent aucune inscription. Le 10 juin 2013, sur l'autoroute A1 entre D._ et la place de E._, X._, alors qu'il circulait sur la voie de gauche en direction de F._, au volant de son véhicule, à une vitesse comprise entre 90 et 110 km/h, suivait de très près la voiture conduite par A._. Peu avant l'aire de ravitaillement de E._, il a, en slalomant entre les véhicules, dépassé par la droite l'automobile de la prénommée puis, dans le but de dépasser un camion circulant devant lui, s'est replacé sur la voie de gauche, à une distance insuffisante du véhicule de A._, soit en lui faisant une "queue de poisson". Cette manoeuvre a contraint cette dernière à freiner énergiquement et à se déporter sur la bande herbeuse centrale pour éviter la collision. A._ a alors perdu la maîtrise de son véhicule, lequel est parti en "tête-à-queue" pour finir sa course contre le muret central. X._ a quant à lui quitté les lieux de l'accident, sans avoir laissé ses coordonnées ni avisé la police, poursuivant sa route en direction de F._. D. X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 14 août 2017, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'il est acquitté. Subsidiairement, il conclut à son annulation et à ce qu'il soit constaté que l'ordonnance pénale du 20 août 2013, subsidiairement celle du 22 janvier 2014, est définitive et exécutoire. Plus subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité cantonale pour complément d'instruction et nouvelle décision. E. Invités à se déterminer, la cour cantonale s'est référée aux considérants du jugement attaqué, tandis que le ministère public a conclu au rejet du recours. Ces déterminations ont été communiquées au recourant, lequel a formulé des observations à leur égard.