Faits:
A.
A._ a fait l'objet en 2011 d'une instruction pénale ouverte par le Ministère public genevois, pour avoir fait des avances à caractère sexuel à un adolescent de quinze ans sur un site Internet de rencontres. En réalité, il est apparu que le profil de l'adolescent avait été créé par un journaliste dans le but de piéger le prévenu.
Par ordonnance du 3 mai 2012, après avoir fait saisir et analyser l'ordinateur du prévenu, le Ministère public a classé la procédure sans examiner s'il y avait infraction à l'art. 187 CP, considérant que les seules preuves d'un éventuel comportement illicite avaient été obtenues illicitement. Le Ministère public a toutefois refusé d'indemniser le prévenu pour le préjudice ou le tort moral subi, considérant que son comportement inadmissible (soit une discussion d'ordre sexuel avec un mineur avec des avances explicites) était à l'origine de la procédure pénale. Les frais ont toutefois été laissés à la charge de l'Etat.
B.
Par arrêt du 18 juin 2012, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par A._. Celui-ci n'avait pas d'intérêt à remettre en cause les motifs de la décision de classement. Le refus de toute indemnité était justifié au regard de l'art. 430 al. 1 CPP car le fait de proposer explicitement à une personne de quinze ans d'accomplir ou de subir des actes d'ordre sexuel était contraire aux moeurs au sens de l'art. 41 al. 2 CO.
C.
Par acte du 21 août 2012, A._ forme un recours en matière pénale. Il conclut à l'annulation de l'arrêt cantonal en tant que celui-ci refuse de lui allouer une indemnité. Il demande 21'480 fr. avec intérêts pour ses frais de défense, ainsi que la réserve de ses droits concernant toute autre indemnisation ou réparation du tort moral. Subsidiairement, il conclut au renvoi de la cause à la cour cantonale pour nouvelle décision.
La cour cantonale se réfère aux considérants de son arrêt, sans observations. Le Ministère public conclut au rejet du recours. Le recourant a déposé de nouvelles observations le 25 octobre 2012, persistant dans ses conclusions.

Considérant en droit:
1.
L'arrêt attaqué concerne l'indemnité allouée au prévenu mis au bénéfice d'une ordonnance de classement. Il s'agit d'une décision finale rendue en dernière instance cantonale. Le recours en matière pénale est dès lors recevable (art. 78 al. 1, 80 al. 1 et 90 LTF). Le recourant a pris part à la procédure cantonale et dispose d'un intérêt juridique à l'annulation de l'arrêt attaqué en tant qu'il lui refuse toute indemnisation (art. 81 let. a et b ch. 1 LTF). Les autres conditions de recevabilité sont par ailleurs réalisées, de sorte qu'il y a lieu d'entrer en matière.
2.
Se plaignant d'une violation des art. 429 et 430 al. 1 let. a CPP, le recourant estime qu'il n'aurait adopté aucun comportement contraire au droit. La cour cantonale a considéré que les propositions faites à un mineur de 15 ans étaient inadmissibles et avaient provoqué l'ouverture de l'instruction. L'arrêt attaqué se fonderait sur l'art. 41 al. 2 CO, mais un comportement contraire à la seule morale ne suffirait pas à refuser une indemnisation. En réalité, c'est le comportement du journaliste, agent provocateur - également condamné par le Conseil suisse de la Presse -, qui serait à l'origine de la procédure. Le recourant estime également qu'une enquête approfondie n'était pas nécessaire car il aurait pu selon lui être immédiatement constaté que les faits ne relevaient pas du droit pénal.
2.1. Si le prévenu est acquitté ou mis au bénéfice d'une ordonnance de classement, il a droit selon l'art. 429 CPP à une indemnité pour les frais de procédure, son dommage économique et son tort moral. Selon l'art. 430 al. 1 let. a CPP, l'autorité pénale peut réduire ou refuser l'indemnité ou la réparation du tort moral lorsque le prévenu a provoqué illicitement et fautivement l'ouverture de la procédure ou a rendu plus difficile la conduite de celle-ci.
De façon générale, le refus d'indemnisation ne saurait se fonder sur des considérations faisant apparaître que l'intéressé a agi de manière pénalement répréhensible, car une telle motivation violerait la présomption d'innocence (art. 32 al. 1 Cst. et 6 par. 2 CEDH; arrêt 1B_21/2012 du 27 mars 2012 consid. 2.1; 1B_12/2012 du 20 février 2012 consid. 2 et les références citées). Par ailleurs, un comportement contraire à la seule éthique ne peut justifier le refus d'indemniser le prévenu libéré des fins de la poursuite pénale. La jurisprudence a toutefois étendu la notion de comportement fautif à la violation de toute norme de comportement, écrite ou non, résultant de l'ordre juridique suisse dans son ensemble (<ref-ruling> consid. 1b p. 334; <ref-ruling> consid. 2c p. 168). Le droit civil non écrit interdit de créer un état de fait propre à causer un dommage à autrui, sans prendre les mesures nécessaires afin d'en éviter la survenance; celui qui contrevient à cette règle peut être tenu, selon l'art. 41 CO, de réparer le dommage résultant de son inobservation (<ref-ruling> consid. 2a/aa p. 115). Or, les frais directs et indirects d'une procédure pénale, y compris l'indemnité qui doit éventuellement être payée au prévenu acquitté, constituent un dommage pour la collectivité publique. Ainsi, le droit de procédure pénale interdit implicitement de créer sans nécessité l'apparence qu'une infraction a été ou pourrait être commise, car un tel comportement est susceptible de provoquer l'intervention des autorités répressives et l'ouverture d'une procédure pénale et, partant, de causer à la collectivité le dommage que constituent les frais liés à une instruction pénale ouverte inutilement. Il y a comportement fautif, dans ce cas, lorsque le prévenu aurait dû se rendre compte, sur le vu des circonstances et de sa situation personnelle, que son attitude risquait de provoquer l'ouverture d'une enquête pénale (<ref-ruling> consid. 2 non publié; arrêts 6B_87/2012 du 27 avril 2012, 1B_21/2012 du 27 mars 2012, 6B_668/2009 du 5 mars 2010).
2.2. En l'occurrence, le recourant a été approché par un journaliste qui, se faisant passer pour un mineur de quinze ans, a laissé son profil sur la page du recourant sur un site gay. S'en est suivi une discussion avec des propositions explicites de la part du recourant. Dans sa décision de classement, le Ministère public a considéré que l'intervention d'un agent provocateur rendait le moyen de preuve illicite. Avec raison, le recourant ne prétend pas que le refus d'indemnisation serait fondé sur la considération que son comportement serait, d'une manière ou d'une autre, contraire au droit pénal. L'arrêt attaqué est en effet exclusivement fondé sur l'existence d'une faute civile au sens de l'art. 41 al. 2 CO.
En dépit de la tromperie dont le recourant a été la victime, il ne pouvait lui échapper qu'en faisant des propositions de nature sexuelle à une personne qui s'était présentée comme un mineur de quinze ans (quelles que soient par ailleurs les mises en garde que le recourant prétend lui avoir ensuite adressées), il créait l'apparence d'une situation pénalement répréhensible susceptible d'aboutir à l'ouverture d'une enquête pénale. Quand bien même le recourant ne pouvait être poursuivi en raison de l'illégalité du moyen de preuve (art. 140 et 141 CPP), on ne saurait reprocher à l'autorité de poursuite d'avoir ensuite voulu s'assurer - notamment en saisissant et en analysant l'ordinateur du recourant - que d'autres actes du même genre n'avaient pas été commis. Il s'agit, sur le vu de la jurisprudence rappelée ci-dessus, d'un motif suffisant pour refuser toute indemnité. Il n'y a pas, cela étant, à s'interroger sur une éventuelle application de l'art. 41 al. 2 CO (faits contraires aux moeurs).
2.3. Dès lors que le recourant n'a pas droit à une indemnité fondée sur l'art. 429 CPP et que les frais de justice ont été laissés à la charge de l'Etat, les arguments relatifs à l'ampleur de l'instruction pénale apparaissent sans pertinence. Il n'est d'ailleurs pas reproché au recourant d'avoir compliqué la conduite de la procédure, mais seulement d'en avoir provoqué l'ouverture. Au demeurant, l'instruction ne paraît pas avoir connu un développement disproportionné.
3.
Le recours doit par conséquent être rejeté, aux frais du recourant (art. 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 10 juin 2013
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Fonjallaz
Le Greffier: Kurz