gitrepository-layout(5) tells me HEAD can be in one of a few states:
a) Missing. In this case the repository is considered to be corrupt and attempts to access the repository fail until the user runs "git init" to recover.
b) A symbolic link, which is one way to represent a symref (pointing to an existing branch or an unborn branch).
c) A standard symref, in the format "ref: refs/some/branch". Behaves like (b).
d) A direct SHA-1 reference (40-character commit object name) pointing to a commit without associating a branch ("detached HEAD").
e) Anything else means the repository is corrupt, as in case (a).
In other words, HEAD always either points to an unborn or existing branch or an existing commit. It's not clear to me what it would mean to detach from an unborn branch.