So, am I correct in assuming that you created a service definition file on your local machine, then uploaded it directly to ArcGIS Online in My Content?
When you create the SD file, you have to author it such that you specify you want to create a hosted service from it, by pointing at ArcGIS Online as the server to publish to. There are slight differences between SD files authored for publishing to ArcGIS Online vs ArcGIS Server. Thus, if you authored it for publishing to ArcGIS Server, you can't publish it in Online.
Mike