Can one circuit only compute one boolean function?
No. There are lots of examples of circuit that can be reconfigured to compute different boolean functions at different times.

ALU: (arithmatic logic unit) has some inputs that determine an op-code which selects different operations to perform on the other inputs.

Multiplexer: Can be used to implement arbitrary logic functions on some inputs, depending on the inputs to other inputs.

SRAM: (static random access memory) can be programmed to implement arbitrary logic functions on the inputs applied to its address pins.

EEPROM: (electrically-erasable programmable read-only memory) can be used to implement arbitrary logic functions like an SRAM, but doesn't lose its program when not powered.

FPGA: (field programmable gate array) The king of programmable logic, can be programmed to implement very complex logic on very large numbers of inputs, as well as implement state machines. Internally, an FPGA is typically implemented using a large number of SRAMs.

CPLD: (complex programmable logic device) nowadays usually just a small FPGA, earlier generations had a more rigid logic structure, but with more predictable behavior than FPGAs.

PAL, GAL: (programmable array logic and gate array logic) Earlier generations of programmable logic, nowadays largely superseded by CPLDs.