Sachverhalt: A. A._ hatte sich im Strafverfahren gegen X._ als Privatkläger konstituiert. Das Bezirksgericht Horgen erklärte X._ am 15. November 2013 der mehrfachen Veruntreuung schuldig und verurteilte ihn zu einer bedingten Geldstrafe von 180 Tagessätzen zu Fr. 50.-- sowie zu einer Busse von Fr. 1'800.--. Es stellte fest, dass X._ "gegenüber dem Privatkläger aus dem eingeklagten Ereignis dem Grundsatze nach schadenersatzpflichtig ist" und verwies die Zivilklage im Übrigen auf den Weg des Zivilprozesses. Die Kosten des Verfahrens wurden zu vier Fünfteln X._ auferlegt und zu einem Fünftel auf die Gerichtskasse genommen. Das Bezirksgericht sprach X._ eine reduzierte Parteientschädigung von Fr. 3'100.-- zu und verpflichtete ihn, A._ eine Prozessentschädigung von Fr. 14'400.-- zu bezahlen. B. Auf Berufung von X._ sprach ihn das Obergericht des Kantons Zürich am 16. Oktober 2014 von der Anklage der mehrfachen Veruntreuung frei und verwies die Zivilklage von A._ auf den Weg des Zivilprozesses. Die Kosten der Untersuchung und des erstinstanzlichen Gerichtsverfahrens wurden auf die Gerichtskasse genommen. Das Obergericht sprach X._ für das Untersuchungsverfahren und das erstinstanzliche Gerichtsverfahren eine Parteientschädigung von Fr. 16'483.50 zu. Es auferlegte die Kosten des Berufungsverfahrens von Fr. 3'000.-- zu drei Vierteln A._ und nahm sie zu einem Viertel auf die Gerichtskasse. A._ wurde verpflichtet, X._ drei Viertel der auf Fr. 5'812.-- festgesetzten Parteientschädigung zu bezahlen; ein Viertel der Parteientschädigung ging zulasten der Gerichtskasse. C. A._ erhebt Beschwerde in Strafsachen und beantragt die teilweise Aufhebung der Kostenverlegung im angefochtenen Urteil, indem die X._ zugesprochene Parteientschädigung vollumfänglich aus der Gerichtskasse zu bezahlen sei. D. Das Obergericht und die Oberstaatsanwaltschaft verzichten auf eine Vernehmlassung.