I have one external monitor connected to a Macbook Pro.
As a result, I had two spaces by default: desktop 1 on the primary display and desktop 2 on the secondary display (in mission control, the option to create spaces for displays has to be checked).
However, in this default configuration, there is no option in Yosemite to assign an application to a specific desktop. These options are not displayed in the dock icon’s menu. Dragging the open application to another space did not work either. The next time I started the application, it’s back on desktop 1.
Apparently, one has to create a new space with mission control, e.g. desktop 3 on the secondary display.
I then assigned the application to that space.
Then it worked and the application would always run on the secondary display.
The odd thing is, if I then remove the space desktop 2, which means I would be back to one space for each desktop, it is still remembered by Yosemite. The option to assign the application to a specific desktop are now gone again, but the application would still start on the desktop I assigned it to before deleting the space desktop 3.
A slightly bizarre quirk 🙂