User capability per post

As far as I know, you can not (easily) set up a custom capability for a certain post/page ID. What is described in the Codex, are the so-called meta capabilities (a set of predefined capabilities with additional arguments/information).

A (not-that-easy) way is to write your own my_add_cap, my_current_user_can, my_has_cap etc. functions.

Regarding your follow-up question…
You could choose to not add/check the capability download_doc with an ID as argument, but the unique ID-based capability download_doc_{$ID} instead.