Yes, when using ESP the source IP address may be modified by an attacker. But unless this results in an amplification attack I don't really see a point in doing that. An attacker who is in the position to modify the IP addresses can also just drop traffic or passively read it (if it is not encrypted), however, will not be able to forge new packets, no matter which protocol is used.
While the two protocols may be combined (e.g. use ESP only for confidentiality and AH for integrity), the integrity functionality provided by ESP affords about the same security with less overhead (especially when using AEAD algorithms), RFC 4302 (AH):
ESP may be used to provide the same anti-replay and similar
integrity services, and it also provides a confidentiality
(encryption) service. The primary difference between the integrity
provided by ESP and AH is the extent of the coverage. Specifically,
ESP does not protect any IP header fields unless those fields are
encapsulated by ESP (e.g., via use of tunnel mode).
So if protecting parts of the outer IP header (and extension headers) is not a requirement, ESP basically provides the same functionality as AH. ESP may even be used without confidentiality, RFC 4303 (ESP):
Integrity-only ESP is an attractive alternative to AH in many
contexts, e.g., because it is faster to process and more amenable to
pipelining in many implementations.