Correct. The main reason is that there may be several ways that you present your data. HTML is certainly the most common, but you might also present your data as JSON, or you might use it to compose an email, or for a private administrative or reporting task. Only the presentation layer of your application should know the specifics of how the data is being rendered, so only the presentation layer should handle escaping.
I didn't have the answer to that off the top of my head, so I double checked the docs, and it made me think that you would get back an empty string. I also ran a quick test script and confirmed that behavior.
$x = null;
$y = htmlentities($x);