Sachverhalt: A. X._ wird vorgeworfen, seine damalige Lebensgefährtin A._ während der durch Kokainkonsum geprägten Beziehung regelmässig körperlich misshandelt und ab Frühjahr 2008 ungefähr zweimal pro Woche vergewaltigt und/oder sexuell genötigt zu haben. Zudem sei er im Februar 2008 mit seinem damaligen Drogenlieferanten übereingekommen, dass A._ in dessen Club als Tresenkraft arbeite und neben Getränken auch Kokain verkaufe. Es sei ein Lohn von Fr. 1'800.- vereinbart worden, von dem Fr. 1'000.- direkt an X._ und Fr. 800.- an A._ ausgezahlt worden seien. Zudem habe sie für zehn verkaufte Minigrips Kokain eine Provision von Fr. 200.- oder zwei Minigrips Kokain erhalten. Die an sie ausgezahlten Fr. 800.- habe A._ in die gemeinsame Haushaltskasse einzahlen müssen, über deren Verwendung X._ entschieden habe. B. Das Amtsgericht Bucheggberg-Wasseramt verurteilte X._ am 4. September 2013 wegen mehrfacher Körperverletzung, Nötigung, mehrfacher sexueller Nötigung, mehrfacher Vergewaltigung und Widerhandlungen gegen das Betäubungsmittelgesetz zu 4 Jahren Freiheitsstrafe als Zusatzstrafe zu einem Urteil des Obergerichts des Kantons Solothurn vom 15. Juni 2011 (8 Jahre Freiheitsstrafe und eine Busse von Fr. 500). Von weiteren Vorwürfen sprach es ihn frei. Es verpflichtete ihn, A._ eine Genugtuung von Fr. 15'000.- sowie eine Entschädigung und Schadensersatz von Fr. 3'246.45 zu zahlen. C. Die von X._ erhobene Berufung gegen die Schuldsprüche wegen mehrfacher Vergewaltigung, mehrfacher sexueller Nötigung, Nötigung und die Genugtuung, soweit sie Fr. 2'000.- übersteigt, wies das Obergericht des Kantons Solothurn am 22. Mai 2014 ab und sprach ebenfalls eine vierjährige Zusatzstrafe aus. D. X._ führt Beschwerde in Strafsachen und beantragt, das Urteil des Obergerichts sei aufzuheben und er sei vom Vorwurf der mehrfachen Vergewaltigung, mehrfachen sexuellen Nötigung und Nötigung freizusprechen. Eventualiter sei die Sache zu neuer Beurteilung an die Vorinstanz zurückzuweisen. X._ ersucht um unentgeltliche Rechtspflege und Verbeiständung. Die Staatsanwaltschaft des Kantons Solothurn verzichtet auf eine Vernehmlassung. Das Obergericht stellt in seiner Replik keinen Antrag in der Sache.