Faits: A. Le 9 mars 2010, A._ a déposé plainte pénale à Genève, pour faux témoignage et calomnie notamment, contre C._, D._, E._ ainsi que B._. Dans le cadre d'une procédure ouverte par le plaignant devant la juridiction des prud'hommes pour licenciement abusif, trois documents avaient été produits, rédigés par les trois premiers précités qui travaillaient alors sous les ordres du plaignant, faisant état en substance d'un manque total de respect envers ses collaborateurs et son employeur. Entendus par le tribunal le 8 décembre 2009, les trois intéressés avaient affirmé avoir rédigé séparément ces documents. Selon le plaignant, des similitudes entre les documents permettaient d'exclure que ceux-ci aient été rédigés séparément et sans concertation. Par ailleurs, B._, chef du service juridique de l'employeur, avait reconnu avoir rencontré les trois témoins, le jour de l'audience, dans les locaux de l'employeur. Le 28 novembre 2011, le Ministère public du canton de Genève a rendu une ordonnance de non-entrée en matière. Les trois documents litigieux avaient été établis dans le cadre d'une enquête interne contre A._; à la demande de B._, le responsable du service juridique en Espagne s'était entretenu avec les trois intéressés et leur avait demandé d'exposer leurs griefs par écrit. Cela pouvait expliquer les similitudes entre les documents. Il n'y avait pas d'indice de faux témoignage, ni de calomnie. B. Par arrêt du 30 avril 2012, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par A._. Les trois documents présentaient des similitudes (identité de mise en page, de caractères, de tournures de phrases, de destinataire et de contenu) qui s'expliquaient toutefois par le fait que leurs auteurs travaillaient dans le même service, avaient été entendus par la même personne et avaient pu parler ensemble à ce sujet. Rien ne permettait de penser que les documents auraient été établis après coup, pour justifier le licenciement. B._ avait reconnu avoir rencontré les trois témoins le jour de l'audience, mais il n'était pas établi qu'il aurait à cette occasion donné des directives quant à leurs dépositions. C. Par acte du 4 juin 2012, A._ forme un recours en matière pénale par lequel il demande l'annulation de l'arrêt cantonal et le renvoi de la cause à la Chambre pénale de recours pour nouvelle décision dans le sens des considérants. Subsidiairement, il demande l'annulation de l'ordonnance de non-entrée en matière, l'ouverture d'une instruction et l'audition des personnes mises en cause. Le recourant requiert l'assistance judiciaire. La Chambre pénale se réfère à son arrêt, sans observations. Le Ministère public conclut au rejet du recours. B._, agissant en personne, conclut au rejet du recours. Les autres intimés ne se sont pas déterminés. Dans ses dernières observations, le recourant a persisté dans ses conclusions. 