Sachverhalt: A. A.B._ (geb. 1983) ist bulgarische Staatsangehörige. Am 4. August 2005 reiste sie zum ersten Mal in die Schweiz ein. Am 9. Dezember 2005 wurde sie wegen Widerhandlung gegen das damals geltende Ausländergesetz zu einer bedingten Gefängnisstrafe von 60 Tagen verurteilt. Das Migrationsamt des Kantons Zürich verfügte daraufhin ihre Wegweisung. Das Bundesamt für Migration (seit dem 1. Januar 2015: Staatssekretariat für Migration SEM) belegte sie mit einer bis zum 12. Dezember 2008 gültigen Einreisesperre. Am 14. September 2006 wies das Migrationsamt ein Gesuch von A.B._ um eine Aufenthaltsbewilligung als Opfer von Menschenhandel ab. Sie wurde jedoch auf Zusehen hier geduldet. Im September 2007 brachte A.B._ in Zürich ihre Tochter E.B._ zur Welt. Nach der Anerkennung des Kindes durch den Schweizer Bürger F._ erhielt A.B._ eine Aufenthaltsbewilligung aufgrund eines schwerwiegenden persönlichen Härtefalls, die zuletzt bis 15. November 2010 verlängert wurde. Nach Ablauf der Gültigkeitsdauer kehrte A.B._ freiwillig mit ihrer Tochter nach Bulgarien zurück. Im November 2010 gebar A.B._ in Bulgarien die Zwillinge C.B._ und D.B._, deren Vater der mazedonische Staatsbürger G._ ist. Im Oktober 2011 reiste A.B._ mit ihrer Tochter, die das Schweizer Bürgerrecht besitzt, und ihren zwei Söhnen erneut in die Schweiz ein und ersuchte am 8. Dezember 2011 um eine Aufenthaltsbewilligung EU/EFTA zur Stellensuche bzw. für die beiden Söhne zum Verbleib bei der Mutter. B. Mit Verfügung vom 12. September 2012 wies das Migrationsamt des Kantons Zürich die Gesuche von A.B._ und ihren Söhnen ab und setzte ihnen eine Ausreisefrist. Am 13. Januar 2014 wurde A.B._ vom Bezirksgericht Zürich wegen qualifizierter Widerhandlung gegen das Betäubungsmittelgesetz und mehrfacher Geldwäscherei, begangen zwischen Februar und Juli 2012, zu einer bedingten Freiheitsstrafe von 21 Monaten bei einer Probezeit von drei Jahren verurteilt. Am 28. Februar 2014 wies die Sicherheitsdirektion des Kantons Zürich den Rekurs von A.B._ und ihren beiden Söhnen gegen die Verfügung des Migrationsamtes vom 12. September 2012 ab. Mit Urteil vom 28. Mai 2014 wies das Verwaltungsgericht des Kantons Zürich die gegen den Rekursentscheid der Sicherheitsdirektion erhobene Beschwerde ebenfalls ab. C. Vor Bundesgericht beantragen A.B._, C.B._, D.B._ und E.B._ die Aufhebung des Urteils des Verwaltungsgerichts des Kantons Zürich vom 28. Mai 2014. Es sei ihnen eine Aufenthaltsbewilligung zu erteilen. Zudem ersuchen sie um unentgeltliche Rechtspflege und Verbeiständung. Während das Verwaltungsgericht und die Sicherheitsdirektion des Kantons Zürich auf eine Vernehmlassung verzichten, beantragt das Staatssekretariat für Migration die Abweisung der Beschwerde. Mit Präsidialverfügung vom 9. Juli 2014 wurde der Beschwerde antragsgemäss aufschiebende Wirkung zuerkannt.