Faits :
A.
Par jugement du 16 juin 2015, le Tribunal d'arrondissement de la Broye et du Nord Vaudois a reconnu X._ coupable de lésions corporelles par négligence (<ref-law>) et de violation des obligations en cas d'accident (<ref-law>). Il l'a condamné à une peine pécuniaire de 45 jours-amende, à 30 fr. le jour avec sursis durant 2 ans, et à une amende de 330 fr., peine convertible en 11 jours de peine privative de liberté de substitution. Sur le plan civil, il a astreint X._ à payer à Y._ divers montants à titre de réparation du dommage matériel.
B.
La Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel de X._ le 14 septembre 2015.
Ce jugement repose en substance sur l'état de fait suivant:
Le samedi 14 septembre 2013, vers 13 heures, à Vallamand, sur le trajet du triathlon du Seeland, le cycliste Y._ a été dépassé par deux véhicules qui se suivaient. Le premier véhicule s'est rabattu et a enclenché son clignotant pour indiquer son intention d'obliquer à droite. Le second véhicule, conduit par X._, s'est rabattu à son tour. Comme le premier véhicule avait fortement ralenti, X._ a fait un écart sur la gauche pour l'éviter. Lors cette manoeuvre, il n'a pas regardé dans son rétroviseur et n'a pas vu le cycliste Y._ qui, ne disposant plus d'une distance suffisante pour freiner derrière lui, était en train de le dépasser par la gauche. Le flanc arrière gauche de la voiture de X._ a heurté la jambe droite de Y._, qui a été déséquilibré. Le vélo a traversé la route avant de chuter. Sans sortir de son véhicule, X._ a brièvement parlé à Y._ puis a quitté les lieux sans laisser ses coordonnées au blessé, ni attendre la police. Y._, qui a souffert de plusieurs plaies au côté droit, a déposé plainte le 14 septembre 2013.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement cantonal et conclut, avec suite de frais et dépens, à sa réforme dans le sens de son acquittement et du rejet de l'ensemble des conclusions civiles. Il conclut également à l'octroi d'une indemnité au sens de l'<ref-law>. A titre subsidiaire, il requiert le renvoi de la cause à l'autorité intimée.

Considérant en droit :
1.
1.1. Le recourant invoque une constatation arbitraire des faits en relation avec une violation de la présomption d'innocence et du principe in dubio pro reo. Dans ce cadre, il reproche essentiellement à la cour cantonale d'avoir privilégié la version des faits de Y._ au détriment de la sienne. Dès lors que les seules preuves administrées consistaient en les témoignages d'un prévenu et d'un plaignant, aucune des deux versions des faits ne pouvait être préférée à l'autre. Il aurait donc dû être acquitté au bénéfice du doute.
1.2. Dans le recours en matière pénale, les constatations de fait de la décision entreprise lient le Tribunal fédéral (<ref-law>), sous les réserves découlant des art. 97 al. 1 et 105 al. 2 LTF, à savoir pour l'essentiel de l'arbitraire (art. 9 Cst.). Pour qu'il y ait arbitraire, il ne suffit pas que la décision attaquée apparaisse discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable, et cela non seulement dans sa motivation, mais aussi dans son résultat (<ref-ruling> consid. 2.1 p. 18 s.). Le grief d'arbitraire doit être invoqué et motivé de manière précise (<ref-law>).
La présomption d'innocence, garantie par les art. 32 al. 1 Cst. et 10 CPP, ainsi que son corollaire, le principe in dubio pro reo, concernent tant le fardeau de la preuve que l'appréciation des preuves (<ref-ruling> consid. 2a p. 40; <ref-ruling> consid. 2c p. 36 et les références citées). Telle qu'on peut comprendre l'argumentation du recourant, celui-ci invoque la présomption d'innocence comme règle de l'appréciation des preuves. Celle-ci est violée lorsque le juge, qui s'est déclaré convaincu, aurait dû éprouver des doutes quant à la culpabilité du prévenu au vu des éléments de preuve qui lui étaient soumis. Ce grief se confond en définitive avec celui d'appréciation arbitraire des preuves.
1.3. En l'espèce, la cour cantonale a expliqué pourquoi, même en l'absence de preuve technique, elle considérait comme non crédible la version des faits du recourant selon laquelle, d'une part, il avait dépassé le cycliste bien avant le lieu de l'accident (quelque trois cents mètres avant) et, d'autre part, celui-ci était tombé une dizaine de mètres derrière lui sans qu'il ait une quelconque responsabilité dans cette chute. Relativement au premier point, la cour cantonale a indiqué qu'il était invraisemblable, vu la différence de vitesse entre une voiture (50 km/h) et un vélo (35 km/h), que le cycliste ait pu arriver à la hauteur du véhicule du recourant au moment où celui-ci s'était déporté vers la gauche, fait admis par X._ lors de son audition par la gendarmerie, si le dépassement avait effectivement eu lieu quelque trois cents mètres avant l'accident. En revanche, elle a laissé indécise la question de savoir si le recourant avait fait une queue de poisson au cycliste. En ce qui concerne l'existence ou non d'un heurt avec le cycliste, la cour cantonale a relevé que le recourant avait reconnu avoir fait un écart vers la gauche sans regarder dans son rétroviseur, ni avoir enclenché son clignotant. Le jour des faits, il avait déclaré à la police "s'être retrouvé en présence d'un cycliste qui tentait de [le] dépasser". Aucun élément autre que l'écart soudain du recourant sur la voie de gauche ne pouvait expliquer la chute du cycliste. En particulier, rien ne permettait de retenir que ce dernier aurait été gêné par une aspérité de la route ou par un autre événement.
Il ne suffit pas de dire qu'il existe deux versions contradictoires des faits concernant le déroulement de l'accident pour invoquer avec succès une violation du principe in dubio pro reo. Encore faut-il démontrer que la cour cantonale, qui s'est déclaré convaincue par la version soutenue par l'une des parties, est parvenue à ce résultat au terme d'une appréciation arbitraire des preuves, ce que le recourant ne fait nullement. On ne voit au demeurant pas ce qu'il y aurait d'insoutenable dans la manière dont la cour cantonale a apprécié les déclarations de l'intimé et du recourant, notamment en les confrontant entre elles et en examinant leur cohérence, ni dans les raisons que celle-ci a donné pour écarter la version des faits du recourant. Le grief doit donc être rejeté.
2.
Le recourant se plaint, à deux titres, d'une violation de l'<ref-law>.
L'<ref-law> réprime le comportement de celui qui, par négligence, aura fait subir à une personne une atteinte à l'intégrité corporelle ou à la santé. La réalisation de cette infraction suppose ainsi la réunion de trois conditions: l'existence de lésions corporelles, une négligence et un lien de causalité entre la négligence et les lésions.
2.1. Le recourant fait valoir tout d'abord que l'intimé n'a pas subi de lésions corporelles mais de simples voies de fait, ce qui exclurait l'application de l'<ref-law>. Il se réfère à la jurisprudence selon laquelle en présence de contusions, meurtrissures ou griffures, l'importance de la douleur constitue un critère pour différencier une lésion corporelle simple (<ref-law>) d'une voie de fait (<ref-law>). Il soutient que la chute n'avait pas causé d'importantes douleurs au cycliste puisque celui-ci s'était immédiatement relevé et l'avait même interpellé de manière assez forte. Or, une telle réaction n'allait pas de pair avec d'importantes souffrances. De plus, la cour cantonale n'avait même pas pris la peine de justifier les motifs imposant la qualification de lésions corporelles simples.
L'<ref-law> concerne les lésions du corps humain ou de la santé qui ne peuvent être qualifiées de graves au sens de l'<ref-law>. Il protège l'intégrité corporelle et la santé tant physique que psychique (<ref-ruling> consid. 1.1 p. 191; <ref-ruling> consid. 2a p. 26; <ref-ruling> consid. 5c p. 42; <ref-ruling> consid. 2c p. 70). Sous l'effet d'un choc ou au moyen d'un objet, l'auteur dégrade le corps humain d'autrui, que la lésion soit interne ou externe; il provoque une fracture, une foulure, une coupure ou toute autre altération constatable du corps humain.
Devant le tribunal de police, l'intimé a déclaré qu'il n'avait pas subi de traumatisme crânien mais des brûlures sur toute l'omoplate droite, sur toute la fesse droite, au coude ainsi qu'à la cheville droits, et qu'il avait eu un ongle arraché au pouce droit. Il a précisé qu'il avait mis une heure chaque matin pour changer les pansements durant la première semaine. C'est sur cette base que tant le tribunal de police que la cour cantonale ont retenu la qualification de lésions corporelles simples au sens de l'<ref-law>.
Le recourant est mal venu de critiquer un défaut de motivation de la part des juges précédents dès lors qu'il conteste cette qualification pour la première fois en instance fédérale. Cela étant, des dermabrasions qui couvrent tout le côté droit du corps à la suite d'une chute à vélo sur la chaussée et qui nécessitent des soins pendant un certain temps afin d'éviter une infection sont à qualifier de lésions corporelles simples au sens de l'<ref-law>. En effet, ces blessures vont clairement au-delà d'un trouble passager et sans importance du sentiment de bien-être qui caractérise les conséquences des voies de fait (cf. <ref-ruling> consid. 2a p. 26; <ref-ruling> consid. 5c p. 42; <ref-ruling> consid. 2c p. 70).
2.2. Le recourant invoque également une faute concurrente du cycliste de nature à interrompre le lien de causalité. L'intimé avait estimé sa vitesse à 35 km/h. Lui-même avait déclaré devant le tribunal de police rouler entre 30 et 40 km/h (et non pas 50 km/h comme l'avait retenu de manière inexacte la cour cantonale). Selon lui, il était donc tout à fait vraisemblable qu'il avait dépassé le cycliste bien avant le lieu de l'accident et que celui-ci le talonnait de très près. Partant, même si on pouvait lui reprocher une violation des règles de prudence dans la manoeuvre qu'il avait effectuée en urgence pour éviter le premier véhicule, le comportement du cycliste n'était pas non plus exempt de reproche. Non seulement, celui-ci n'avait pas gardé une distance suffisante avec sa voiture, mais il avait effectué un dépassement téméraire au vu de la situation qui se déroulait devant lui.
2.3. Le rapport de causalité est qualifié d'adéquat lorsque, d'après le cours ordinaire des choses et l'expérience de la vie, le comportement était propre à entraîner un résultat du genre de celui qui s'est produit (<ref-ruling> consid. 4.1.3 p. 61 et l'arrêt cité). La causalité adéquate sera admise même si le comportement de l'auteur n'est pas la cause directe ou unique du résultat. Peu importe que le résultat soit dû à d'autres causes, notamment à l'état de la victime, à son comportement ou à celui de tiers (<ref-ruling> consid. 5.2 p. 148). La causalité adéquate peut toutefois être exclue si une autre cause concomitante, par exemple une force naturelle, le comportement de la victime ou d'un tiers, constitue une circonstance tout à fait exceptionnelle ou apparaît si extraordinaire que l'on ne pouvait s'y attendre. L'imprévisibilité d'un acte concurrent ne suffit pas en soi à interrompre le rapport de causalité adéquate. Il faut encore que cet acte ait une importance telle qu'il s'impose comme la cause la plus probable et la plus immédiate de l'événement considéré, reléguant à l'arrière-plan tous les autres facteurs qui ont contribué à l'amener et notamment le comportement de l'auteur (<ref-ruling> consid. 4.4.2 p. 265 s. et les arrêts cités). Il s'agit d'une question de droit que la cour de céans revoit librement (<ref-ruling> consid. 4.1.3 p. 61 et l'arrêt cité).
2.4. En affirmant avoir dépassé le cycliste largement avant le lieu de l'accident, le recourant s'écarte de manière inadmissible des faits constatés sans arbitraire par la cour cantonale (voir consid. 1 supra). C'est au demeurant en vain qu'il revient sur ce fait dans le contexte de la causalité, car s'il a bien déclaré avoir roulé entre 30 et 40 km/h, il s'agissait de la vitesse qu'il avait lorsqu'il s'est déporté vers la gauche et non pas lorsqu'il a dépassé le cycliste (voir le jugement du tribunal de police p. 6). En l'occurrence, il ressort de l'état de fait cantonal que le recourant a effectué un brusque écart sur la gauche pour éviter le premier véhicule peu après s'être rabattu devant le cycliste qu'il venait de dépasser. Celui-ci se trouvait donc forcément assez proche de son véhicule. Il appartenait du reste au recourant de laisser entre le cycliste et sa voiture une distance suffisante avant de se rabattre devant lui ou, sinon, de renoncer à effectuer son dépassement. Dans ces conditions, on ne saurait pas non plus voir dans le fait que le cycliste a lui-même dévié vers la gauche pour le dépasser une circonstance à laquelle il ne pouvait s'attendre.
C'est par conséquent sans violer le droit fédéral que la cour cantonale a condamné le recourant pour lésions corporelles simples par négligence.
3.
Enfin, le recourant conteste sa condamnation pour violation des obligations en cas d'accident.
3.1. Aux termes de l'<ref-law>, est puni d'une peine privative de liberté de trois ans au plus ou d'une peine pécuniaire le conducteur qui prend la fuite après avoir tué ou blessé une personne lors d'un accident de la circulation.
La fuite signifie que le conducteur s'éloigne des lieux de l'accident ou se rend indisponible, violant notamment son obligation de prêter son concours à la reconstitution des faits (<ref-ruling> consid. 3 p. 107).
3.2. La cour cantonale a constaté qu'après la chute du cycliste, le recourant s'était certes arrêté, mais sans sortir de sa voiture. Il avait quitté les lieux de l'accident sans laisser ses coordonnées et sans se préoccuper de la santé du cycliste autrement que par le biais d'une vérification visuelle à partir de son véhicule, tout en ayant pu comprendre que celui-ci lui imputait la responsabilité de sa chute. Au regard de ces faits, les éléments constitutifs du délit de fuite sont sans conteste réunies. Que le cycliste ait eu une réaction agressive envers lui ne saurait servir de justification au manquement de ses obligations. Il est par ailleurs établi que celui-ci a été blessé, ce que le recourant aurait pu constater s'il ne s'était pas contenté de regarder par la fenêtre de son véhicule.
4.
Il résulte de ce qui précède que le recours doit être rejeté aux frais du recourant (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 4'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal vaudois.
Lausanne, le 23 mars 2016
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : von Zwehl