The easiest is just to detach the process into background, with something like:
config.vm.provision "shell",
inline: "nohup middleman server >> /vagrant/middleman.log 2>&1 &"
If you want to run it as the SSH user ("vagrant" by default) instead of root, add privileged: false
option. For stopping the process you have to kill it or run vagrant halt/destroy
.
More complete daemon setups you could take a look at for example runit.