The short answer to this question is YES, the canonical tag should be used on every page of a website, because you never know how someone will link to a page. Adding a canonical URL forces the search engines to index only the base URL of the page you want indexed. Having this one simple line of code could save you huge headaches later.
Think about all the possibilities that might eventually arise that could create canonical issues. Here are just a few:
Why have to think about it later? Just add that one simple line to each page and you’ll be set for life. If you use WordPress, there about a dozen canonical URL plugins you can use as well.