If I book my flight through Expedia, can the airline make changes to that reservation (e.g. if I wanted to change my return date), or do I have to call Expedia directly?
Yes, the airline can make changes to a ticket issued by a 3rd party.
Whether they will make changes is a different matter.
In general, the ticket is deemed to be 'owned' by whoever booked it - generally either the airline itself, or a 3rd party travel agency. That party is the one that has been paid to issue the ticket, and is generally responsible for making any changes at least up until the start of the first flight.
So in general, any changes - at least before the start of travel - will need to be made by Expedia.
Some airlines do give you the option for them to "take over" the ticket so that they can make changes, however (at least in the US) they will generally charge you for doing this. eg, the United Airlines Contract of Carriage states :
UA will assess a 50.00 USD/50.00 CAD fee to assist with a voluntary change on tickets originally issued via any external ticketing source (travel agency, internet agency, other airline, etc.). The fee is non-refundable and applies in addition to all applicable charges.
American Airlines call it a "External Reservation Handling Charge", along with a US$25-35 fee.
This fee may be waived if you are a high-level frequent flyer, or potentially if you are on a high fare ticket - but often that's at the discretion of the phone agent.
You can always try calling the airline, especially as every airline has slightly different policies, but for something like a change of date of a flight I would not expect them to assist you without paying this fee. If your travel has already commenced then you might have more success.
According to Expedia's FAQ
If your travel plans change and you need a different flight than what you originally booked, please consider the following:
The airlines will assess a fee for most changes to your flights. The change fee varies, but a typical change fee is $150 for within the United States, and $200 for international flights. This fee will be passed on to you. When changing your reservation, the new flights selected must be on the same airline. It may be helpful to familiarize yourself with the alternative flights available prior to calling. If there are differences in the airfare between the flights originally booked and the new flights selected, the difference will be charged to you. Most airlines do not allow changes to the names of the travelers originally booked without incurring a change fee.
To change your flight reservation, please contact us. Find your contact method below and provide your travel details to expedite your service.
If your flight is part of a Vacation Package booking, please read How do I change or cancel a Vacation Package? for assistance from an Expedia Vacation Package agent.
For flight changes or corrections on our Low-Cost Carrier airlines, view our FAQ for the specific airline below or go directly to their Web site and click "Manage my Booking/Trip." Because Expedia cannot access the booking systems of Low-Cost Carriers, Expedia Customer Support cannot make modifications to Low-Cost Carrier reservations, even if they were booked on Expedia.
To access your flight details on the airline's website, you may need to set up an account using the same email address you used to book your flight on Expedia and/or provide your airline booking confirmation code.