You should make sure that every obsolete page generates a 404 status code, but the page itself is not critical to SEO. The 404 status code tells the search engines to remove the obsolete URL. A 404 page is important if you wish to capture the visitors that find any obsolete URLs, so it is a good idea to include a 404 page in every site.
When to use a custom 404 error page " Even if a page's content has expired, "link juice" theorists believe it is perfectly acceptable to substitute the expired content with similar content. What "link juice" theorists fail to do is perform usability tests and observe searcher behavior. Is the substituted content acceptable to end users? If so, why is it acceptable? Do site visitors take the desired calls to action? If users do not find the substituted content to be acceptable, they will not link to the URL or take the desired call to action. From a web site owner's and an SEO professional's perspective, the substituted content preserves link popularity and delivers prospects to the web site. From the user perspective, however, desired content is no longer available. Users want to know that the desired content is no longer available. They do not want to be redirected to content they did not request. When content on a web site is no longer available, users prefer to see a customized 404 Error page. Content for a customized 404 Error page should come after a thorough analysis of keyword and clickstream data so that the scent of information is preserved...." quoted from source.