Sachverhalt: A. Gemäss Anklage brachte X._ Anfang 2011 ein damals 15-jähriges Mädchen in seine Gewalt, bedrohte es mit einer Gaspistole, fesselte und knebelte es, missbrauchte es sexuell und vergewaltigte es. Er filmte die sexuellen Handlungen, die er an dem Mädchen vornahm. Danach entführte er es in den Kanton Tessin. X._ hatte ausserdem kinder- und tierpornographisches Material aus dem Internet auf seine Handys und sein Netbook heruntergeladen. B. Das Bezirksgericht Bremgarten verurteilte X._ am 2. Mai 2013 wegen Freiheitsberaubung, Entführung, sexueller Handlungen mit einem Kind, sexueller Nötigung, Vergewaltigung, mehrfacher Pornographie sowie strafbarer Vorbereitungshandlungen zu Freiheitsberaubung und Entführung zu einer Freiheitsstrafe von zehn Jahren. Es ordnete gegen ihn gleichzeitig die Verwahrung an. Das Obergericht des Kantons Aargau wies die auf den Strafpunkt beschränkte Berufung von X._ am 20. November 2014 ab und bestätigte das bezirksgerichtliche Urteil, soweit dieses nicht in Rechtskraft erwachsen war. C. X._ wendet sich mit Beschwerde in Strafsachen an das Bundesgericht. Er beantragt, das Urteil des Obergerichts des Kantons Aargau vom 20. November 2014 sei betreffend die Anordnung der Verwahrung aufzuheben. Anstelle der Verwahrung sei eine ambulante vollzugsbegleitende Massnahme anzuordnen. Eventuell sei die Sache an die Vorinstanz zurückzuweisen, damit diese die gegen ihn anzuordnende Massnahme neu festsetze. X._ ersucht überdies um unentgeltliche Rechtspflege und Verbeiständung. D. Das Obergericht und die Oberstaatsanwaltschaft des Kantons Aargau verzichten unter Hinweis auf die Ausführungen im angefochtenen Entscheid auf eine Vernehmlassung.