Faits: A. Le 14 juillet 2011, la Cheffe du Département fédéral des finances a autorisé l'Administration fédérale des contributions (ACF) à mener une enquête spéciale pour des soupçons de graves infractions fiscales à l'encontre, notamment, de B._ et de C._. Le 31 août 2011, une perquisition a été effectuée dans les bureaux de l'étude A._ à Genève; les documents en relation avec le mandat confié à cette étude par B._ ont été saisis et mis sous scellés. B. Le 29 novembre 2011, l'AFC a demandé à la Cour des plaintes du Tribunal pénal fédéral la levée des scellés, considérant que l'étude d'avocats était intervenue en tant que mandataire fiscal de B._. Par arrêt du 22 mai 2012, la Cour des plaintes a rejeté la demande de levée des scellés et ordonné la restitution des documents à l'étude A._. Les soupçons de l'AFC étaient suffisants pour justifier une perquisition. Toutefois, l'étude A._ était intervenue sur mandat de B._ et de sa société pour répondre à une demande d'information de l'AFC du 20 avril 2010. Cette réponse avait été formée le 1er juillet 2010. Il s'agissait d'une activité typique d'avocat, couverte par le secret professionnel. Les classeurs contenant de la correspondance avec l'AFC - déjà en possession de cette dernière - devaient être restitués à leur détentrice, de même que l'intégralité des documents confiés à l'étude par B._. C. Par acte du 22 juin 2012, l'AFC forme un recours en matière pénale par lequel elle demande l'annulation de l'arrêt de la Cour des plaintes et l'autorisation de procéder à la perquisition; subsidiairement, elle demande le renvoi de la cause à la Cour des plaintes pour nouvelle décision dans le sens des considérants. La Cour des plaintes se réfère à sa décision. A._ conclut au rejet du recours. L'effet suspensif requis par la recourante a été accordé par ordonnance du 13 juillet 2012. 