Faits :
A.
B._ était propriétaire avec son épouse d'une villa sise à Cologny (GE). En octobre 2009, il a conclu avec la société A._ SA, dont l'administrateur unique est l'avocat C._, un contrat oral de courtage d'indication, sans exclusivité, prévoyant une rémunération de 3% du prix de vente de ladite villa. Le contrat devait être exécuté avec une certaine discrétion et sans démarches publicitaires, afin que les voisins et connaissances de B._ ne reconnaissent pas la villa. Le 4 novembre 2009, A._ SA a informé B._ qu'elle avait trouvé un acquéreur potentiel; le 14 décembre 2009, elle lui a communiqué le nom de cette personne et organisé une visite de l'objet à vendre pour le lendemain. B._ a toutefois annulé la visite le jour même et résilié le contrat de courtage en raison de la violation de la clause de confidentialité.
Suite à une promesse de vente signée le 16 février 2010 grâce à l'activité d'un autre courtier, la villa a été vendue le 7 juillet 2010 pour le prix de quatorze millions de francs. L'acheteur était le client proposé par A._ SA, que le nouveau courtier avait présenté le 17 décembre 2009 à B._. Ayant eu connaissance de la vente, A._ SA a fait valoir une rémunération de 420'000 fr.; B._ a contesté la prétention, invoquant la résiliation du contrat de courtage.
B.
A._ SA a ouvert action contre B._ en paiement de 420'000 fr. L'action a été rejetée par le Tribunal de première instance puis, sur appel, par la Chambre civile de la Cour de justice. Dans son arrêt du 14 mars 2014, cette dernière a retenu que la demanderesse était certes la première à avoir signalé le nom du futur acheteur à B._, mais sans lui donner les coordonnées de cette personne; B._ n'avait ainsi pas eu la possibilité de reprendre contact avec cet acquéreur potentiel pour directement négocier avec lui après la résiliation du contrat de courtage intervenue le 14 décembre 2009. La Chambre civile en a déduit que B._ n'avait pu tirer aucun bénéfice de l'activité déployée par A._ SA avant la résiliation du contrat de courtage. Elle a en outre retenu que la résiliation opérée par B._ n'était pas intervenue en temps inopportun, au motif que A._ SA avait violé son devoir de discrétion en révélant l'intention de vendre de B._ à des connaissances de celui-ci, à savoir la famille D._. La Chambre civile en a conclu que A._ SA ne pouvait pas prétendre à une rémunération.
C.
A._ SA (recourante) saisit le Tribunal fédéral d'un recours en matière civile, dans lequel elle conclut à ce que B._ (intimé) soit condamné à lui payer 420'000 fr. avec intérêts à 5% dès le 3 août 2010. L'intimé conclut à l'irrecevabilité, subsidiairement au rejet du recours. L'autorité précédente se réfère à son arrêt.
Considérant en droit :
1.
Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Il n'est donc limité ni par les arguments soulevés dans le recours, ni par la motivation retenue par l'autorité précédente; il peut admettre un recours pour un autre motif que ceux qui ont été invoqués, comme il peut rejeter un recours en adoptant une argumentation différente de celle de l'autorité précédente. Compte tenu de l'exigence de motiver les recours sous peine d'irrecevabilité, le Tribunal fédéral n'examine en principe que les griefs invoqués. Le cas d'une violation manifeste du droit demeure réservé, sauf en matière de violation de droits fondamentaux et de dispositions de droit cantonal et intercantonal, où l'exigence d'un grief motivé vaut sans exception (art. 42 al. 2 et art. 106 al. 2 LTF; ATF 140 III 115 consid. 2).
Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). En tant que cour suprême, il est instance de révision du droit et non pas juge du fait. Il peut certes, à titre exceptionnel, rectifier ou compléter les faits qui ont été établis de façon manifestement inexacte - c'est-à-dire arbitraire - ou en violation du droit et ce, pour autant que la correction soit susceptible d'influer sur le sort de la cause (art. 97 al. 1 et art. 105 al. 2 LTF). Néanmoins, la partie recourante qui entend s'écarter des faits retenus dans l'arrêt attaqué doit expliquer de manière circonstanciée en quoi les conditions pour le faire seraient réalisées; dans la mesure où le grief a trait au caractère arbitraire de l'établissement des faits, les exigences de motivation sont celles, plus strictes, de l'art. 106 al. 2 LTF. Le Tribunal fédéral n'entre pas en matière sur des critiques de type appellatoire portant sur l'état de fait ou sur l'appréciation des preuves (ATF 137 II 353 consid. 5.1; 133 II 249 consid. 1.4.3).
2.
La recourante discute d'abord la réelle et commune intention des parties relative à la portée exacte de la clause de confidentialité conclue oralement; il s'agit d'une question de fait. La recourante soutient que la famille D._ ne faisait pas partie des voisins et connaissances visés par la clause, fait pertinent pour la question juridique de la résiliation en temps inopportun.
La recourante ne démontre pas le caractère arbitraire, c'est-à-dire insoutenable, de la constatation faite par la Chambre civile au sujet de la volonté subjective des parties. Elle discute divers éléments ressortant du dossier et donne son avis sur la façon dont ceux-ci auraient dû être appréciés. Il s'agit d'une motivation appellatoire qui ne peut pas être soumise à l'examen du Tribunal fédéral. Il n'y a pas à en examiner le mérite.
3.
La recourante se plaint ensuite d'une violation de l'art. 404 al. 2 CO, expliquant que l'enjeu de la présente cause est de permettre au Tribunal fédéral d'affiner sa jurisprudence sur la question de savoir si la résiliation du contrat en temps inopportun entraîne condamnation à verser des dommages-intérêts négatifs ou positifs. Dès lors qu'il est acquis que la résiliation n'est pas intervenue en temps inopportun, la question soulevée ne se pose pas et il n'y a pas à entrer en matière.
4.
En bref, le recours est irrecevable. La recourante supporte en conséquence les frais et dépens de la procédure (art. 66 et 68 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est irrecevable.
2.
Les frais judiciaires, arrêtés à 7'000 fr., sont mis à la charge de la recourante.
3.
La recourante versera à l'intimé une indemnité de 8'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 14 octobre 2014
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Klett
La Greffière : Monti