There're two issues here: your question about whether to optimise keywords at site or page level, and a wider one regarding the optimisation practices that question is predicated on.
Should you optimise keywords at page or site level?
Search engines rank pages, not sites. The site as a whole can influence how its individual pages perform, but all else being equal, it's an individual page's content (and links, social references, etc.) that will determine its performance.
Optimising at page-level makes practical sense. If you were to optimise keyword density at a site-wide level, you'd still do this by altering page content, but you'd need to decide which pages to alter and by how much, for each term, to alter density for the entire site – very unwieldy and imprecise.
Does keyword density still matter?
As the information John linked to illustrates, search engines are still, in basic terms, matching keywords in web pages to keywords in search terms. So the importance of a word in a page influences its ranking.
For that reason, crude SEO practices such as increasing keyword density have, until relatively recently, worked perfectly well.
But since the above linked answer was written, Google has released a lot of algorithm updates, many of which are aimed at combatting crude efforts to "game" their search engine. I recommend reading up on them carefully.
The bottom line is that the kind of SEO by numbers approach you're asking about is not as effective as it used to be and, worse, may even have a negative effect on your site.
TL;DR
Optimise at page level, but you probably shouldn't worry about keyword density too much anyway. You don't need to take my word for it, here's a Google engineer speaking on the subject.