When I take my baby outside, I always cover all of his skin with sunscreen, just as the aap recommends. Isn’t that enough to protect him from cancer and yet give him vitamin d?

No. If you block the rays that burn, you're blocking the rays that help you make vitamin d. Use a vitamin d supplement.
Vit D. His main source of vit d should be given orally as instructed by your physician. Baby should never get sunburned. A severe sunburn in childhood greatly increases their risk for developing skin cancer later in life.
Some what mutually. Exclusive. Human body makes d3 version of vitamin d from ultraviolet exposure to skin and converting a form of cholesterol to vitamin d. If you protect the skin from uv light, skin cannot make vitamin d. If skin cancer is a concern, you can use vitamin d oral supplement in consultation with your doctor.