La grammatica risponde chiaramente: i verbi servili dovere, potere e volere assumono, nei tempi composti lo stesso ausiliare richiesto dal verbo che accompagnano. Perciò bisogna dire: “Io sono dovuto andare”, perché si dice “io sono andato”; ma “Io ho dovuto parlare”, perché si dice “io ho parlato”.
Ma come avviene la scelta? La risposta è più semplice di quello che sembra. Se il verbo ha un uso intransitivo, ovvero non regge un complemento oggetto, allora l'ausiliare sarà essere. Invece se il verbo ha un uso transitivo, ovvero regge un complemento oggetto, allora l'ausiliare sarà avere.
Un verbo ausiliare (dal latino verbum auxiliare) è un verbo utilizzato in combinazione ad un altro per dare un particolare significato della forma verbale. Questo è evidente, in italiano, nella formazione di tempi composti come il passato prossimo o il trapassato prossimo: ho fatto. ero andato.
La regola generale vuole che l'ausiliare del verbo servile sia lo stesso di quello del verbo all'infinito. Nel caso però che il verbo all'infinito sia un verbo intransitivo, allora l'ausiliare può essere o il verbo avere o il verbo essere. Se invece l'infinito è il verbo essere, l'ausiliare sarà avere.
Per esempio, se il verbo “potere” serve il verbo “fare”, viene utilizzato l'ausiliare avere, che andrebbe vicino al verbo “fare”, pertanto, si otterrà: “Ho potuto fare”, “Ha potuto fare”, e così via.