Create an order for a specific customer
The simplest way to do this would be to create the order that you want until the step that you want with your admin/webmaster/whatever role that has enough permissions and then, edit the order and change the owner. 

If you create an order so the customer can pay it, you just send them the checkout url, as you changed the owner, they will have access to finish the checkout.

If you process the payment as well, you need an extra step of configuration, in order to send the customer a proper notification that the order was made. Rules is a good way to do this.