Sachverhalt: A. Das Obergericht des Kantons Zürich sprach X._ am 17. November 2014 zweitinstanzlich wegen Vergewaltigung schuldig. Es verurteilte ihn unter Berücksichtigung der rechtskräftigen erstinstanzlichen Schuldsprüche wegen mehrfacher Drohung und Tätlichkeiten zu einer Freiheitsstrafe von 36 Monaten sowie einer Busse von Fr. 400.--. Es ordnete eine stationäre therapeutische Massnahme im Sinne von Art. 59 StGB an und entschied über Schadenersatz- sowie Genugtuungsbegehren. Hinsichtlich des Schuldspruchs wegen Vergewaltigung erachtet das Obergericht zusammengefasst folgenden Sachverhalt als erwiesen: X._ stiess die gehbehinderte A._ am 26. August 2012 in einer öffentlichen Toilette auf die WC-Schüssel und zog ihr Hose sowie Unterhose hinunter. Daraufhin stiess er sie auf den Boden, hielt sie an den Schultern fest, beugte sich über sie und drang gegen ihren Willen mit seinem Penis vaginal in sie ein. Als sich A._ wegdrehen konnte, packte X._ sie erneut und drang anal in sie ein. B. X._ beantragt mit Beschwerde in Strafsachen im Hauptpunkt, das obergerichtliche Urteil sei aufzuheben und die Sache zur Abnahme der beantragten Beweise sowie zur neuerlichen Beurteilung an das Bezirksgericht Pfäffikon, eventualiter an das Obergericht zurückzuweisen. Ferner sei er aus der Sicherheitshaft zu entlassen. Er ersucht um unentgeltliche Rechtspflege und Verbeiständung. C. Das Obergericht und die Oberstaatsanwaltschaft des Kantons Zürich verzichten auf eine Stellungnahme. A._ liess sich nicht vernehmen.