While Can't Have (Been) is used to refer to an incident in the near past, Couldn't Have (Been) is used for an event that happened way back in the past. ... He's been limping since this past week; he can't have won the race yesterday at all.
IS can have been correct?
Both are grammatically correct. There is a very slight difference in the meanings. "Can't have been true" suggests that it happened more recently. "Couldn't have been true" suggests that it was further in the past.
Could not have been meaning?
Could not have means that something was impossible in the past. For example: She could not have been on that flight because I just saw her at work.