Use Case:
I want to know if documents could still be generated from a custom button placed on an Visualforce page.

Consulting Reply:
Yes, this would work, under condition that data displayed on the Visualforce page (and most likely used to in document) is saved in database. In general, it does not matter from where document generation gets executed (standard record page, Visualforce page or somewhere else) – it will get record id, document action id and other parameters and it will generate based on those parameters.