Vagrant is probably syncing your theme between your host machine and the vm, so the dev site/server sees the theme files.
You’ll need to find a way to get your theme on the remote production server. For ideas, see this post addressing the question of “What approach are you taking to deploying your theme?”