Be careful, understand that assembly languages are generally not standardized in the way that many higher level languages are, so the question is quite vague, you didnt even state the instruction set. The tag masm32 implied x86 (that tag was added for you).
It seems that you wanted x86 and the specific subset of the masm family of assemblers.
Assembly is generally defined by the assembler, the tool, not the instruction set. So when wanting to know how an assembly language works or its rules you have to look at the assembler itself. Its documentation if any or if good enough, if not you have to experiment.
I dont have masm32 handy, requires some pain to get it, but I have another readily available assembler and you could experimentally answer your own question. (as pointed out already in another answer, yes without the h in masm it defaults to decimal)
mov al,10h
mov al,0x10
mov al,10
which disassembles to
00000000 B010 mov al,0x10
00000002 B010 mov al,0x10
00000004 B00A mov al,0xa
In this case not specified means defaults to decimal, which is what you should expect at least for instructions from masm.
Non-instruction syntax which is also part of the assembly language may have different syntax rules than the instruction part of the language. One would hope a tool uses the same rules for numbers throughout, but you never know.
Likewise there may be instructions that use an immediate as an offset to a register rather than a value being loaded into a register, one would hope those immediates/values also follow the same rules.
Best to experiment and be sure rather than hope that a manual or a web page is complete and correct.
To your title question, which is again very vague, yes there are assemblers out there that understand octal, decimal and hexadecimal (and maybe other bases like base 2) not necessarily all within one tool, and not limited to x86 since the title question did not. And what they default to and what syntax is required to specify a base is specific to each tool. Point being assembly language is not like other programming languages, cannot make generalizations about assembly language. Would be simple for someone to create a new assembler for some target that doesnt conform to the generalization, yet be a perfectly usable tool.