Sachverhalt: A. S._ (geboren 1972) war ab 2. März 1998 bei der Q._ AG erwerbstätig. In der Zeit zwischen dem 15. Oktober 1999 und 26. September 2000 blieb sie wegen Krankheit und Mutterschaftsurlaub (Geburt eines Sohnes am 7. Juni 2000) dem Arbeitsplatz fern. Anschliessend nahm sie infolge Krankheit die Arbeit nicht mehr auf, worauf die Arbeitgeberin das Arbeitsverhältnis per Ende Februar 2001 auflöste. In der Folge bezog S._ bis März 2002 Arbeitslosenentschädigung. Ende Januar 2003 meldete sie sich bei der Invalidenversicherung zum Leistungsbezug an. Mit Einspracheentscheid vom 8. Dezember 2004 stufte die IV-Stelle des Kantons Zürich die Versicherte als Erwerbstätige ein und sprach ihr ab 1. Februar 2002 bei einem Invaliditätsgrad von 50 % eine halbe Rente zu. Im Rahmen eines im Januar 2008 eingeleiteten Revisionsverfahrens stellte die IV-Stelle keine rentenbeeinflussende Änderung fest und teilte der Versicherten am 8. April 2008 mit, sie habe weiterhin Anspruch auf die halbe Rente. Am 27. Januar 2010 meldete die Versicherte der IV-Stelle, dass sie am 18. Dezember 2009 Mutter von Zwillingen geworden sei. Die IV-Stelle holte daraufhin medizinische Unterlagen ein und liess die beeinträchtigte Arbeitsfähigkeit in Beruf und Haushalt abklären (Bericht vom 7. Juni 2010). Mit Vorbescheid vom 14. Juni 2010 nahm die IV-Stelle infolge der Geburt der Zwillinge eine Statusänderung vor unter Annahme einer Haushalttätigkeit von 80 % und stellte die Aufhebung der Rente in Aussicht. Dagegen liess die Versicherte am 11. August 2010 Einwände erheben. Nachdem weitere Arztberichte eingegangen waren und die Versicherte hiezu Stellung genommen hatte, hob die IV-Stelle mit Verfügung vom 17. März 2011 die Rente auf Ende des folgenden Monats auf. B. Die hiegegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 29. Mai 2012 ab unter Gewährung der unentgeltlichen Prozessführung und Verbeiständung. C. S._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit dem Antrag, in Aufhebung des vorinstanzlichen Entscheides sei ihr weiterhin eine halbe IV-Rente samt Kinderrenten auszurichten. Eventuell sei die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Ferner sei ihr die unentgeltliche Prozessführung und Verbeiständung zu gewähren. Die IV-Stelle schliesst auf Abweisung der Beschwerde, während kantonales Gericht und Bundesamt für Sozialversicherungen auf eine Vernehmlassung verzichten.