Q:

Is a function that calls itself only once no matter the input recursive?

Consider a function that does an operation and calls itself at most  once (not more than one “recursion” level) no matter what the input is. 
Is this function considered recursive?
Example:
join1 :: [Maybe a] -> [a]
join1 [Just x] = [x]
join1 [Nothing] = []
join1 (x) = concat (map join1 (map (\k->[k]) x))

In this case, when calling:
    Join1 [nothing, just 2, just 3,...]
The join1 function will be called on each element, entering immediately the termination condition 

A:

Yes, it is recursive. The number of calls at runtime and the runtime recursion depth is irrelevant. A definition x = expression is said to be recursive if x appears in expression, referring to the x we are defining right now. 
Briefly put, "recursiveness" is a syntactic property of the definition, and does not consider the runtime behavior.
As a silly example, this definition is recursive, even if it never calls itself at runtime. Even if it could trivially simplified into a non-recursive one.
identity :: a -> a
identity x = (\_ -> x) identity

