The last access date can't be queried through PowerShell, as the values of such are stored with an associated SQL database and initially created by the Windows Server's IIS. So in another words you are interested in IIS logs.
last access date/time for sharepoint site collections topic from MSDN forums has a suggestion regarding the site collections.
A pseudo-code version (where you'd need to fill in your data table's name and URL):
SELECT max(date)
FROM IISLogs
WHERE url like 'http://server/sites/sitecollection%'
And a bit advanced query
SELECT FullUrl AS 'Site URL', TimeCreated,
DATEADD(d,DayLastAccessed + 65536, CONVERT(datetime, '1/1/1899', 101))
AS lastAccessDate FROM Webs WHERE
(DayLastAccessed <> 0) AND (FullUrl LIKE N'sites/%') ORDER BY lastAccessDate
(Source: Last access date/time for SharePoint site collections)